最近,我升级到 macOS Sierra 后,遇到了 Apache 无法处理 Mac 上的 PHP 文件的问题。关于此问题的原始帖子在这儿。
我“修复”此问题的方法是将以下内容添加到/etc/apache2/httpd.conf
AddType application/x-httpd-php .php
然后我重新启动了 Apache sudo apachectl restart
,我的 PHP 脚本就被处理了。
然而,当我运行phpinfo()
脚本时它说PHP 版本 5.6.24
当我从命令行运行 PHP 时,它会报告PHP 7.0.10(这正是我所期望和想要的)。
这很奇怪,因为我不知道 PHP 5.6.24 在我的系统上在哪里。如果我运行
which php
它给:
/usr/local/php5/bin/php
但进一步研究后发现,这似乎是指向 PHP 7 的符号链接:
$ cd /usr/local
$ ls -l
lrwxr-xr-x 1 root wheel 38 14 Sep 11:18 php5 -> /usr/local/php5-7.0.10-20160831-102733
直接从执行 PHP/usr/local/php5-7.0.10-20160831-102733
也会报告 PHP 7:
$ pwd
/usr/local/php5-7.0.10-20160831-102733/bin
$ ./php -v
PHP 7.0.10
如何让 Apache 使用 PHP 7.x,更重要的是,我系统上运行的 PHP 5.x 在哪里?
答案1
php 有多种变体。至少有命令行变体、cgi 变体、fastcgi 变体和 apache 模块。
您需要构建一个 php 7 apache 模块,然后重新配置 apache 以使用它。