PHP版本冲突

时间:2016-09-12 14:43:55

标签: php symfony plesk

我正在使用Symfony 2.8.9网站,但它需要PHP 5.5或更高版本。在Plesk 12.5中,我已将服务器设置为使用5.6,这很好,但是当我通过ssh运行composer install命令时,我收到以下消息:

  
      
  • symfony / symfony v2.7.0需要php> = 5.3.9 - >您的PHP版本(5.3.3)不满足该要求。
  •   

所以我键入php -v并收到以下消息:

  

PHP 5.3.3(cli)(建于2016年8月11日20:33:53)

我不确定为什么它在命令行上说5.3.3,即使它在Plesk中设置为5.6,我怎么能解决这个问题呢?我无法运行我的作曲家更新,甚至尝试清除缓存会引发错误,我确定这些错误与过时的PHP版本有关。

2 个答案:

答案 0 :(得分:1)

您的服务器上是否有更多版本的php?可能是Web服务器使用一个版本,而CLI使用另一个版本。

尝试命令which php以查看被调用的内容。

答案 1 :(得分:1)

因为你有一个plesk服务器,你必须自己使用正确的php-cli二进制文件。

在您的情况下,已安装的php版本位于/opt/plesk/php/opt/plesk/php/5.6/bin/php

如果您是此服务器的root用户,可以使用简单的符号链接来帮助自己: ln -s /opt/plesk/php/5.6/bin/php /usr/local/bin/php-5.6

然后您可以使用php-5.6 composer.phar

如果没有,则必须使用完整路径,或者为.bashrc添加别名。

另一种方法是将--ignore-platform-reqs添加到作曲家调用中。在大多数情况下它会工作(php要求被忽略) - 如果作曲家skript本身使用5.6特定语法,当然这不会有用。

编辑:我的plesk在Ubuntu 16.04上运行 - 所以系统php已经是5.5.9 - 这使得--ignore-platform-reqs技巧非常有用。在5.3.3我认为你会遇到更多麻烦。