Home  >  Article  >  Backend Development  >  osx - mac mini brew安装了php54,但是我的工作php还是5.3.15?

osx - mac mini brew安装了php54,但是我的工作php还是5.3.15?

WBOY
WBOYOriginal
2016-06-06 20:49:091221browse

我已经拷贝了php.ini文件和php文件到/etc/文件夹和bin文件夹下面,在命令行下面输入"php -v"显示的也是PHP 5.4.19版本。 但是用info.php查看却还是PHP Version 5.3.15,这是怎么回事呢?还要修改哪里呢?

按照楼下前辈的指导,我也删除了php等文件,也重新链接了,但是不知道为何用info.php查看,仍然是PHP Version 5.3.15, 可以在哪里修改默认的php路径到新的php路径吗?究竟是哪个地方我还没注意到呢?望前辈赐教,不胜感激!

我是用的是os x server 程序,是不是这个程序有自己的php路径?

已经初步确定,os x server根本没有调用系统本身的apache和php,应该是用自己程序包里面的集成环境,还不知道怎么修改。OS X SERVER真的是不好用啊,没有可以设置的地方。

这个问题已被关闭,原因:

回复内容:

我已经拷贝了php.ini文件和php文件到/etc/文件夹和bin文件夹下面,在命令行下面输入"php -v"显示的也是PHP 5.4.19版本。 但是用info.php查看却还是PHP Version 5.3.15,这是怎么回事呢?还要修改哪里呢?

按照楼下前辈的指导,我也删除了php等文件,也重新链接了,但是不知道为何用info.php查看,仍然是PHP Version 5.3.15, 可以在哪里修改默认的php路径到新的php路径吗?究竟是哪个地方我还没注意到呢?望前辈赐教,不胜感激!

我是用的是os x server 程序,是不是这个程序有自己的php路径?

已经初步确定,os x server根本没有调用系统本身的apache和php,应该是用自己程序包里面的集成环境,还不知道怎么修改。OS X SERVER真的是不好用啊,没有可以设置的地方。

通过homebrew安装的PHP位于

<code>/usr/local/Cellar/php54/5.4.19/  #不同版本版本号路径会有差异,注意自行修正
</code>

homebrew自动加了个软连接,平时工作如果可以直接指定PHP命令路径的话,可以直接用这个连接,位于

<code>#位置
/usr/local/opt/php54/bin/php #不同版本的连接
/usr/local/bin/php #默认PATH目录下的连接
#例如
/usr/local/opt/php54/bin/php -f test.php
</code>

Mac OS本身自带了PHP,如果运行PHP命令不带路径的话,会使用系统默认PATH下查找到的命令,即下面的这些:

<code>/usr/bin/php
/usr/bin/phpize
/usr/bin/php-config
/usr/bin/php-cgi
... #还有pecl, pear, peardev, phar, phar.phar几个命令,不是很常用,根据需要调整吧
</code>

所以想替换默认PHP的话,可通过调整默认PATH中目录的顺序实现,参考:@zhaoyi同学的答案

默认apache模块

如果使用的是apache模块加载方式,修改Mac自带的apache配置文件httpd.conf,前提是安装php没有--enable-fpm(这个选项暗示--without-apache),否则是不会生成相应的libphp5.so文件的:

<code>/etc/apache2/httpd.conf
#修改内容
LoadModule php5_module /usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so
</code>

感谢@zhaoyi 作答,推荐通过修改PATH中的目录顺序来实现默认执行文件的变更,这样比直接修改/usr/bin下面的文件副作用(side affect)要小的多,下面是不推荐的方式:直接修改/usr/bin下面相关的执行文件

<code>#把默认版本备份,如果不想备份,直接删除也行
mv /usr/bin/php /usr/bin/php-5.3.15
...
#连接新版本到bin路径
ln -s /usr/local/Cellar/php54/5.4.19/bin/php /usr/bin/php
...
#为了默认编译安装PHP相关软件源代码保持一致,可以在./configure的时候传入-I参数
mv /usr/include/php /usr/include/php-5.3.15
ln -s /usr/local/Cellar/php54/5.4.19/include/php/ /usr/include/php
</code>

不用这么麻烦吧,这其实只需要调整一下path顺序,

<code>ls -al /usr/local/bin/php
/usr/local/bin/php -> ../Cellar/php54/5.4.19/bin/php
</code>

把/usr/local/bin调整到第一位

<code>cat ~/.bash_profile 
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
</code>

参考资源:https://github.com/josegonzalez/homebrew-php

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn