loyalxuan 发表于 2018-12-23 10:19:22

php timezone问题

  用Lnmp平台部署一个服务,部署完之后,报如下错误
http://blog.运维网.com/attachment/201310/140158109.jpg
  

  看错误,是php 时区问题。
  所以在服务的根目录下,创建一个phpinfo.php的测试页面
  
  访问如下
http://blog.运维网.com/attachment/201310/140357146.jpg
  确实是timezone的问题
  参照网上的方法,来修改/etc/php.ini中的
  date.timezone = PRC
  并重启php-fpm之后,
  再访问,phpinfo.php还是date报错
  并看到
http://blog.运维网.com/attachment/201310/130132914.jpg
  没有加载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.运维网.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
  测试 可以正常解析了
  

  经过测试,也可以把测试代码改为如下方式
  
  保存,把short_open_tag 还原为Off 重启php-fpm
  也可以解析
  

  其他方法
可以在报错的文件中添加如下代码
  date_default_timezone_set("PRC");
  当然这个不能解决根本问题,如果很多配置文件都报错,还是要修改php的配置文件
  




页: [1]
查看完整版本: php timezone问题