这里有一些不同的问题都隐藏在PHP版本混淆的概念下,因此将尝试尽可能清楚地解决每个问题。首先这个:
我意识到,(在CLI中)phpinfo()
和所报告的PHP版本之间缺少匹配php -v
。
phpinfo(): 5.5.24
php -v: 5.6.9
PHP CLI与PHP Apache模块不同。
正如我在这里对另一个问题的答案所解释的那样,请不要惊慌!如果您担心Apache服务器使用的PHP版本,phpinfo()
则始终应该注意输出。Apache PHP模块和PHP命令行二进制文件是两个互不干扰的不同事物。
phpinfo()
如果您担心要在Apache中设置正确的PHP模块版本,只需注意输出。
也就是说,在Apache中加载正确的PHP模块似乎仍然存在问题:
我试图在我的代码中写这行httpd.conf
:
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
确保您的Apache服务器正在加载正确的PHP模块。
从技术上来说,您所做的工作看起来是正确的,但我能看到的唯一原因是,在某种程度上LoadModule php5_module
,Apache配置文件中还有另一条指令会取代您设置该行的值。
我建议您浏览一下(httpd.conf
我假设位于此处)/etc/apache2/httpd.conf
,并查看LoadModule php5_module
在编辑该文件时是否确实确实有您遗漏或未注意到的其他内容。在Mac OS X 10.9.5中查看我的等效文件,由于没有使用Mac OS X Apache / PHP设置,因此该行已被注释掉,并读取如下内容:
#LoadModule php5_module libexec/apache2/libphp5.so
当然,在您的情况下,它不会被注释。可在此站点上找到有关配置Apache和PHP以进行Web开发的更多详细信息。
认真考虑使用MAMP替代Mac OS X Apache / PHP怪癖。
现在所有这些都说明了,我不知道您要尝试做什么,但是如果您正在Mac OS X系统上进行Web开发,则应该认真考虑使用MAMP,而不是破解核心Mac OS X Web堆栈来获取内容。运行。
MAMP的好处是,它具有与LAMP堆栈相当的生产级Mac OSX。而且由于它是针对实际Web开发的,因此它具有所有模块和配置的设置完全与应该设置它们的方式相同。
在Mac OS X上,Apache和PHP的核心问题是该软件通常已过时,配置/调整和管理很麻烦,并且在此类情况发生时很难调试。如果Mac OS X附带了更新,而该更新又抹去了您精心设置的Apache和PHP设置,怎么办?您将回到第一个方框。