我已经使用this tutorial在Amazon EC2上设置了一个简单的Web服务器,使用了PHP、mySQL、nginx和php-fpm。一切看起来都在运行,html页面打开得很好。我的phpinfo()也运行得很好,显示服务器API为FPM/FastCGI,php-fpm为活动的。到目前为止一切都很好。
现在我把我的一个旧网站复制到新服务器上,这个网站使用php,在我的旧服务器上运行得很好(顺便提一下,它运行的Apache没有php-fpm),然后打开index.php页面,它打开了,显示正常,但是Twitter登录按钮显示了这个链接:
<? echo $content;?>
而不是显示“redirect.php”,因为它在活的网站。所以不知何故,似乎在页面内的php是不工作的。有一个干净的nginx error.log,重新加载此页面生成以下日志输出:
2016/10/29 12:32:58 [error] 2936#0: *1 FastCGI sent in stderr: "PHP message: PHP Warning: session_start(): open(/var/lib/php/session/sess_45g3uvcilj8913naoa1nrenfn3, O_RDWR) failed: Permission denied (13) in /var/www/html/*****/index.php on line 2
PHP message: PHP Notice: A session had already been started - ignoring session_start() in /var/www/html/*****/index.php on line 6
PHP message: PHP Notice: Undefined index: access_token in /var/www/html/*****/index.php on line 15" while reading response header from upstream, client: *****, server: *****, request: "GET /tlm/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "*****"
我猜可能是权限被拒绝的错误造成的,但是我很难找出原因。尤其是phpinfo()文件运行良好。你可能知道,我在这些方面还是个新手。
关于我的配置:nginx.conf中的用户被设置为nginx,并且/etc/php-fpm.d/www.conf至少包含以下内容:
listen = /var/run/php-fpm/php-fpm.sock
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0664
user = nginx
group = nginx
所以,我甚至不确定我有一个比“为什么这个页面不工作”更具体的问题,但我希望有人能够帮助无论如何。
我见过很多类似的问题,有时没有一个+x的一些文件夹导致的网络服务器的内容是问题,但我已经验证和世界有+x的每个文件夹导致我的网络服务器文件夹,所以这不应该是问题。
有没有人能给我指出正确的方向?提前感谢你的耐心:)
1条答案
按热度按时间s5a0g9ez1#
看起来您新安装的php不允许短标签http://php.net/manual/en/ini.core.php#ini.short-open-tag