Nginx PHP(5.5.1)FPM奇怪的错误

时间:2013-08-13 20:17:22

标签: nginx php

目前我正在试验Nginx。 我使用通过repo安装的最新版本工作。 Nginx独立版一切正常。 然后我通过源代码安装了PHP 5.5.1,我可以运行不同的版本,而不是生产webserver和php版本。 (Nginx在另一个端口运行,然后是80,用于测试目的。)

一切都很顺利。编译PHP 5.5.1没有错误,安装它,启动PHP-FPM并更改Nginx配置以在需要时调用PHP FPM。我的第一个测试网站与此版本完美配合。然后我试图运行我创建的另一个网站。我只更改了文档根目录。

然后我得到了非常奇怪的错误:

PHP Fatal error:  Call to undefined function apache_request_headers() in [...]

是的,不是真正的错误......所以我删除了这个函数来测试网站是否能够在删除函数时顺利运行,这在PHP-FPM / FastCGI模式下是不可用的。

再次尝试时,日志中显示另一个错误:

PHP Parse error:  syntax error, unexpected ''INSERT ' (T_ENCAPSED_AND_WHITESPACE) in [...]

在评论出这个变量后(仅用于测试)发生了另一个错误:

PHP Parse error:  syntax error, unexpected end of file, expecting ')' in [...]

所以我不知道为什么会出现这两个错误。第一个当然是改变了系统;功能不可用。

所以我的主要问题是:为什么我的代码在FPM模式下使用PHP 5.5.1导致这些错误? 该网站完全适用于我的本地开发服务器(PHP 5.4和Apache)和生产服务器(Apache 2.2和PHP 5.4)...我没有更改代码(除了db等配置文件)。那么有人知道会导致这个问题的原因吗?

如果您需要更多信息,请询问!

修改

错误1:

$sql = 'INSERT INTO ' . TABLE . ' 
(name) 
VALUES
("' . $name . '")
ON DUPLICATE KEY UPDATE name=VALUES(name)';

错误2:

'TEXT' => text::parse($row['text']),

1 个答案:

答案 0 :(得分:0)

问题解决了。 PHP通过源重建并使用最新版本(5.5.2)。