【发布时间】:2012-05-21 20:01:50
【问题描述】:
我需要 php(soundcloud php 包装器)中的匿名函数,因此我将音频服务器升级到 PHP 5.3。服务器是linux CentOS 5.5。
在我假设安装成功后,php -v 和 php-cgi -v 都显示 5.3 已安装,但服务器仍报告 5.1.2。
我使用的是 lighttpd,而不是 apache。我在服务器上只能找到一个 php.ini 文件。我已经搜索了我的 lighttpd.conf 文件,但终生无法弄清楚如何让 Lighttpd 看到新的 PHP 版本。
干杯
编辑:我忘了提到我正在使用 FastCGI。这是 lighttpd 的 fastcgi.conf 文件:
fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 2,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
)))
【问题讨论】:
-
你重启了 Apache 吗?
-
phpinfo页面是否可能缓存在服务器和/或您的浏览器上?
-
更新您的 lighttpd 配置以使用 5.3。如果您没有更改它,它仍将使用 5.1.2
-
@BrianWarshaw 我该怎么做?我查看了我的 Lighttpd 配置,它没有在任何地方引用特定版本的 php。对 PHP 的唯一引用是在 fastcgi.conf 中,它将 bin-path 列为“bin-path”=>“/usr/bin/php-cgi”。我在服务器上搜索了任何其他 php-cgi 实例,但都不存在。
-
您可以通过以下方式解决此问题: 1. 运行
/usr/bin/php-cgi -v;是5.3版吗?如果是,那么您需要重新启动服务器(以及可能与您的服务器分开的 fast-cgi)或更改某处的配置 2. 如果不是,则可能有一个单独的 php-cgi 包。例如,在 Ubuntu 中既有 php5-cli 也有 php5-cgi 包