以前 一直都没遇到 这两天遇到这种问题但愿后面遇到这种问题的不要在入坑了
须要说明的是,环境配置成功后,网站已经能够访问了,因为个人根目录直接指定到public的,所以,public下的其它txt文件,ico图标均可以访问,我也新建了一个phpinfo.php文件,一样也能够访问。只有访问index.php的时候才出现“http error 500";
500:服务器内部错误,缘由也不少!
1、首先我先检查环境
php和nginx都是启动正常,并且php和nginx日志都没有报任何的错误;从而说明不是php和nginx的缘由;
2、从新修改nginx.conf根目录位置:
记住,这里修改时,必定不要把根目录定到public下,由于有时候直接定到public也有一些问题,具体为何我也不知道;经验吧!
server
{
listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
server_name _;
index index.html index.htm index.php;
root /home/wwwroot/www.wk139.cn;
......
}
注意:必定要重启nginx;
3、php.ini 开启错误调试
因为个人日志不报任何错误,并且打开index.php也不报任何错误,只报500,这怎么能行?不知道错误又如何解决问题呢?
打开php.ini,在合适位置添加“display_errors:On”
display_errors:On
; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off
注意:必定要重启php,php.ini配置才会生效。
3、再次访问index.php出现:
“scandir() has been disabled for security reasons”;
解决“scandir() has been disabled for security reasons”方法:
出现这个问题,那是由于php禁用了scandir()这个函数,咱们只须要不由用它便可。
能够经过查看phpinfo(),确认scandir()函数是否被禁用?下图则是禁用状态:
禁用scandir()
一、打开php.ini,通常默认位置是在/usr/local/php/etc/php.ini
二、找到“disable_functions”,并删除后面的“scandir”;
scandir
三、保存并退出,重启php-fpm便可!
5、再次去访问“http://www.wk139.cn/tp5/public/index.php”已经成功!
php