我正试图将我的PHP版本从5.4更新到5.5,但Apache没有配合。我已经在其他地方搜索过了,似乎解决方案应该在httpd.conf
:中添加以下行
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
我做到了,但仍然不起作用。从命令行来看,一切似乎都是正确的:
Andres-MacBook-Air:~ fratelli$ which php
/usr/local/opt/php55/bin/php
Andres-MacBook-Air:~ fratelli$ php -v
PHP 5.5.16 (cli) (built: Sep 12 2014 04:34:10)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
Andres-MacBook-Air:~ fratelli$
正如我所说,我将LoadModule
指令添加到位于/private//etc/apache2
中的https.conf
文件中,然后重新启动apache:
sudo apachectl restart
在我的页面中,我调用phpinfo()
,它告诉我我使用的是PHP 5.4.24版本。有人知道怎么解决这个问题吗?
最好。
编辑:这有帮助吗?
Andres-MacBook-Air:apache2 fratelli$ apachectl -M | grep php
[Sat Sep 13 03:11:50 2014] [warn] module php5_module is already loaded, skipping
httpd: Could not reliably determine the server's fully qualified domain name, using Andres-MacBook-Air.local for ServerName
Syntax OK
php5_module (shared)
编辑:我不知道Apache从哪里加载PHP。我刚刚编辑了我的/private/etc/httpd.conf
文件,删除了所有引用PHP的LoadModule
指令,它仍然有效(不过是5.4)。我确信这是错误的文件。
编辑:它似乎是错误的文件。/etc/apache2
中还有一个。我会试试的。
编辑:现在我很困惑:
Andres-MacBook-Air:apache2 fratelli$ ls -l /private/etc/apache2/httpd.conf
-rwxrwxrwx 1 root wheel 18196 Sep 13 03:29 /private/etc/apache2/httpd.conf
Andres-MacBook-Air:apache2 fratelli$ ls -l /etc/apache2/httpd.conf
-rwxrwxrwx 1 root wheel 18196 Sep 13 03:29 /etc/apache2/httpd.conf
编辑其中一个也会更改另一个,但两者似乎都不是符号链接。。
使用此网站。http://php-osx.liip.ch/您可以更新到5.5或5.6。我已经使用单行ssh命令更新了几台Mac。这应该可以修复mac上的一切,让你达到5.5或5.6,现在已经稳定了。
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6
或
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5
我的Apache在这里有一个文件。/etc/apache2/other/+php-osx.conf具有以下路径。
LoadModule php5_module /usr/local/php5/libphp5.so
在您的命令行
which php
它应该
/usr/local/php5/bin/php
在我的httpd.conf中,libphp5.so实际上被注释掉了,并且没有引用PHP。
#LoadModule php5_module libexec/apache2/libphp5.so
还要确保您"重启APACHE"以查看发生的任何变化。如果你不这样做,它不会重新加载PHP5.5库,你也看不到任何更改。