升级到5.4,但“php -v”仍然返回旧版本

我在OSX Lion 10.7.5上。 正如我如何在Mac OS X中升级PHP?,我用过:</ p>

  curl -s http://php-osx.liip.ch/install。  sh |  bash -s 5.4 
</ code> </ pre>

一切似乎进展顺利,没有错误,我在64位系统等等,但当我运行“php -v”时 我仍然看到我之前的版本(5.3.15)。 在1-10的范围内,当通过命令行安装东西时,我可能是2,因此,请将其纳入任何响应中。 </ p>

更新:运行 curl -s http://php-osx.liip.ch/install.sh后,我仔细研究了终端输出。 bash -s 5.4 </ code>我注意到以下内容:</ p>

 将软件包工具 -  memcached安装到root /
./pkg/pre-install
pkg/pre- install
Skipping现有目录
Skipping现有目录usr /
解压现有目录usr / local /
</ code> </ pre>

...然后在安装结束时:</ p >

 从/ usr /中的DYLD_LIBRARY_PATH创建符号链接/usr/local/php5/entropy-php.conf /etc/apache2/other/+php-osx.conf
Removed / usr / lib sbin / envvars
重启Apache
httpd:无法可靠地确定服务器的完全限定域名
</ code> </ pre>

任何人都可以详细说明这意味着什么? 正如评论中所解释的那样,似乎我已经安​​装了文件,但是,我无法解决看起来像$ PATH问题的问题。</ p>
</ div>

展开原文

原文

I'm on OSX Lion 10.7.5. As advised at How do I upgrade PHP in Mac OS X?, I used:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

Everything appeared to go well, no errors, I'm on a 64bit system, etc., but when I run "php -v" I still see the same version I had before (5.3.15). On a scale of 1-10 I'm probably a 2 when it comes to installing stuff via the command line, so, please factor that into any responses.

UPDATE: I took a closer look at the Terminal output after running curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4 and I noticed the following:

Installing package tools-memcached into root /
./pkg/pre-install
pkg/pre-install
Skipping existing directory 
Skipping existing directory usr/
Skipping existing directory usr/local/

...then at the end of the installation:

Create symlink /usr/local/php5/entropy-php.conf /etc/apache2/other/+php-osx.conf
Removed /usr/lib from DYLD_LIBRARY_PATH in /usr/sbin/envvars
Restarting Apache
httpd: Could not reliably determine the server's fully qualified domain name

Can anybody elaborate on precisely what that means? As explained in the comments, it seems I've got the files installed, but, I'm having trouble resolving what appears to be a $PATH issue.

dongquanjie9328
dongquanjie9328 只是为了确认,“/usr/local/php5/bin/php-v”返回“PHP5.4.7”,所以看起来我找到了新安装,但由于某种原因它仍然返回“5.3.15”时运行“哪个php”,甚至在将/usr/local/php5/bin:添加到$PATH变量之后。这看起来像是$PATH变量的正确添加吗?就像我说的,我很擅长通过CLI安装东西。
7 年多之前 回复
dongpao1926
dongpao1926 我还尝试将“/usr/local/php5/bin:”添加到$PATH,因为它似乎在“php5/bin”中有phpexe文件,但它仍然返回旧版本。
7 年多之前 回复
douya6606
douya6606 在/usr/bin/中似乎只有两个与php相关的可执行文件,“php”和“php-config”都不是今天创建的。如何找到可执行文件在新安装中的位置?/usr/local/中有两个PHP安装,今天安装的只是“php5”。我不确定这是否正确,但我尝试了这些更改:旧:PATH=/usr/local/bin:/usr/bin:/opt/local/sbin:新:PATH=/usr/local/php5:/usr/local/bin:/usr/bin:/opt/local/sbin:$PATH-但它仍然列出旧版本。
7 年多之前 回复
dskvfdxgdo2422392
dskvfdxgdo2422392 新的可执行路径可能是/usr/loca/bin/php。找到可执行文件的位置,然后将其添加到$PATH。但是,这并不意味着Apache也会找到合适的。我不一定能帮忙,因为我没有Mac方便。
7 年多之前 回复
dougao7801
dougao7801 当我运行“哪个php”我得到“/usr/bin/php”时,当我运行“/usr/bin/php-v”你是对的,它会返回旧版本。php-osx.liip.ch页面上写着“php.ini位于/usr/local/php5/lib/php.ini”,这是否意味着我必须添加“/usr/local/php5/lib/”到$PATH变量?
7 年多之前 回复
duanmu6231
duanmu6231 然后你的旧php(哪个php)路径不同于这个install.sh脚本的安装路径,即/usr/local/,你必须ln-s或将旧的二进制文件复制到你的php路径。
7 年多之前 回复
dongli7870
dongli7870 重启没有帮助,但谢谢!
7 年多之前 回复
duanlin1931
duanlin1931 重启你的shell。
7 年多之前 回复
duanfeng7756
duanfeng7756 首先在$PATH中找到旧版本的PHP。要查看从CLI调用哪一个,请执行哪个php。这可能会返回一些PHP5.3版本。
7 年多之前 回复

2个回答



创建一个指向新php安装路径的sym链接,如下所示:</ p>

  ln -s / usr / local / php5 / bin / php php 
</ code> </ pre>
</ div>

展开原文

原文

create a sym link to the path of your new php install like this:

ln -s /usr/local/php5/bin/php php

douxie2029
douxie2029 如果它返回ln:php:文件存在怎么办?
大约 4 年之前 回复



如果您使用Apache首先禁用当前的php模块</ p>


sudo a2dismod php5

sudo a2dismod php5.6 </ p>
</ blockquote>

然后启用</ p>


sudo a2enmod php7.0 </ p>
</ blockquote>

并重新启动apache </ p>


sudo service apache2 restart </ p>
</ blockquote>

</ div>

展开原文

原文

If you use Apache first disable current php module

sudo a2dismod php5
sudo a2dismod php5.6

then enable

sudo a2enmod php7.0

and restart apache

sudo service apache2 restart

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问