由于Mac OS 10.8有一个旧的PHP版本,我不得不安装一个从不版本的PHP。所以我只编译PHP 5.4.13。然后我在终端上做了一个php -v,它告诉我新的php版本正在运行。但是当我从浏览器中执行phpinfo时,它向我展示了旧的PHP版本,即PHP 5.3.x.甚至在创建到新的php构建的软链接之后, / opt / local / lib / php(旧的) - > / usr / bin / php(新的)
有任何想法如何解决这个问题?
答案 0 :(得分:3)
我刚遇到同样的问题,想要尝试需要mcrypt的Laravel。
简而言之,我一直在使用Mountain Lion附带的内置PHP 5.3.26,几个月后我对自制软件越来越熟悉,我用它来安装更新的版本PHP。
brew update
brew upgrade
brew install php53 php53-mcrypt ...
我把
<?php phpinfo();
进入〜/ Sites / info.php然后转到localhost / info.php查看我的Apache + PHP配置。在页面上,我在加载配置文件:
下看到了这一点/private/etc/php.ini
然后在Termninal,我跑了这个:
php -i | grep ini
显示了此输出
Loaded Configuration File => /usr/local/etc/php/5.3/php.ini
另外还加载了更多的配置......
Additional .ini files parsed => /usr/local/etc/php/5.3/conf.d/ext-mcrypt.ini,
/usr/local/etc/php/5.3/conf.d/ext-xdebug.ini,
/usr/local/etc/php/5.3/conf.d/redis.ini
我遇到的问题是mcrypt正在加载php cli版本,但是我的Laravel测试页面无法加载而没有找到mcrypt扩展错误[1]
我使用diffmerge工具[2]将/ private / etc /中的原始Apple php.ini与安装在/usr/local/etc/php/5.3/中的一个自制软件进行比较,发现存在显着差异!所以在尝试之前请仔细检查:
接下来我要做的就是备份
sudo mv /private/etc/php.ini /private/etc/php.ini.apple
然后将php.ini符号链接到自制软件
ln -s /usr/local/etc/php/5.3/php.ini /private/etc/php.ini
最后重新加载Apache
sudo apachectl restart
加载了mcrypt,现在他们正在使用单个配置。
如果你的本地主机上有另一个应用程序打破了新配置,只需删除符号链接,然后将其更改为.apple版本并重新启动Apache以恢复。
答案 1 :(得分:1)
这可能是一个很好的参考:
how do i install php 5.4 on Mac OS X Lion?
有一些关于将PHP升级到5.4的详细说明,还有关于MacPorts如何使其变得非常轻松的说明。
答案 2 :(得分:0)
我正在运行OS X 10.9。我将PHP更新到v5.5.8并发现Apache正确运行新版本但终端仍在运行旧版本。在寻找解决方案一段时间之后,我最终想,“我会重新开始。”
宾果!终端和Apache运行相同版本的PHP。