用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的配置文件