Apache/PHP 在 OSX 上的安装有何区别?

Apache/PHP 在 OSX 上的安装有何区别?

我想更新我的 Mac 上的 PHP 本地版本。我进行了一些研究,但有点困惑。

如果我从终端运行 php -i,它会显示:

    $ php -i
    phpinfo()
    PHP Version => 5.3.15
    Configuration File (php.ini) Path => /etc
    Loaded Configuration File => 

我确定我已经安装了 5.4 所以运行了 phpinfo();

    PHP Version 5.4.5
    Loaded config file: /usr/local/php5/lib/php.ini

我遇到的一个问题是,我似乎无法让任何 php.ini 文件工作,我得到了很多

    Notice: Undefined index:

错误,所以错误报告太高,但无论我找到并编辑多少个 php.ini 文件,它都没有效果。

我不知道正在使用哪个版本的 PHP,也不知道为什么有两个版本。

是否可以禁用或删除其中一个,以便我确切知道发生了什么,然后我可以将其更新到较新的版本?

谢谢,

答案1

您的 Mac 上有两个 PHP 安装。其中一个是默认的 OS-X php,其二进制文件位于 下/usr/bin/php,另一个似乎是liip 单行安装程序位于/usr/local/php5

php -i当您在命令行上调用时,/usr/bin将调用 MacOS-X 下的默认 php。当您运行 phpinfo() 脚本时,您的 WebServer 将调用位于 下的 PHP 的 apache 模块/usr/local/php5

因此,当您想要删除其中一个安装时,我建议删除下面的安装,/usr/local/php5因为其他安装与您的操作系统捆绑在一起,并且文件位于整个文件系统中,而且要删除所有相关内容并不容易。

但是如果您想升级您的 PHP 安装,您可能只需再次调用 liip 的单行安装程序,它将在新的目录中安装新版本/usr/local/并将其链接到/usr/local/php5文件夹。

如果您想调用这些新的二进制文件,您可以调整您的 $PATH 变量,使其/usr/local/php5/bin位于前面/usr/bin,或者直接使用二进制文件的完整路径来调用它,如/usr/local/php5/bin/php -i

相关内容