用Lnmp平台部署一个服务,部署完之后,报如下错误
看错误,是php 时区问题。
所以在服务的根目录下,创建一个phpinfo.php的测试页面
<?
phpinfo();
?>
访问如下
确实是timezone的问题
参照网上的方法,来修改/etc/php.ini中的
date.timezone = PRC
并重启php-fpm之后,
再访问,phpinfo.php还是date报错
并看到
没有加载php.ini,所以刚才的修改没有生效,应该放在/usr/local/php/etc下
# php -i | grep Configuration
Configuration File (php.ini) Path => /usr/local/php/etc/
Loaded Configuration File => (none)
Configuration
1)把/etc/php.ini 移动到/usr/local/php/etc下,修改php的配置文件,重启php-fpm
然后
pkill -9 php-fpm
/usr/local/php/sbin/php-fpm
再刷新phpinfo.php 。。。。。页面不见了
再测试游戏页面。。。。。。。页面正常了
诡异
此时查看php配置文件的路径
php -i | grep Configuration
Configuration File (php.ini) Path => /usr/local/php/etc
Loaded Configuration File => /usr/local/php/etc/php.ini
Configuration
是对的
2)phpinfo怎么老是出不来呢
参照
http://zywqs.blog.51cto.com/1286606/842245
把/usr/local/php/etc/php.ini内容中的
short_open_tag = Off 改为short_open_tag = On
保存
重启php-fpm
pkill -9 php-fpm
/usr/local/php/sbin/php-fpm
测试 可以正常解析了
经过测试,也可以把测试代码改为如下方式
<?php
phpinfo();
?>
保存,把short_open_tag 还原为Off 重启php-fpm
也可以解析
其他方法
可以在报错的文件中添加如下代码
date_default_timezone_set("PRC");
当然这个不能解决根本问题,如果很多配置文件都报错,还是要修改php的配置文件
转载于:https://blog.51cto.com/xinghuiru/1314939