在 php.ini 中设置 date.timezone 不起作用

Pie*_*ber 6 php apache datetime date

phpinfo() 函数的输出快照:

在此输入图像描述

当我尝试安装需要设置 date.timezone 的 Roundcube 时,我想通过填写 php.ini 中的 date.timezone 字段来设置 date.timezone 。

服务器配置

  • Debian 9(延伸)
  • PHP 7.0.19-1 (cli)(构建时间:2017 年 5 月 11 日 14:04:47)( NTS )
  • Apache/2.4.25 (Debian)

我尝试过的

根据http://php.net/manual/en/timezones.php,我修改了 /etc/php/7.0/apache2/php.ini 和 /etc/php/7.0/cli/php 中的 date.timezone 字段.ini 具有不同的语法:

date.timezone = Europe/Paris
date.timezone = 'Europe/Paris'
date.timezone = "Europe/Paris"
Run Code Online (Sandbox Code Playgroud)

我总是在进行任何更改后重新启动 Apache。

phpinfo 中没有任何变化,date.timezone 字段始终设置为“无值”,并且安装 Roundcube 的第一步,date.timezone 不正常。

但是当我尝试时:

php -i
Run Code Online (Sandbox Code Playgroud)

我得到:

date/time support => enabled
"Olson" Timezone Database Version => 0.system
Timezone Database => internal
Default timezone => Europe/Paris

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.583333 => 90.583333
date.sunset_zenith => 90.583333 => 90.583333
date.timezone => Europe/Paris => Europe/Paris
Run Code Online (Sandbox Code Playgroud)

我读了很多关于此类问题的旧帖子,但不同的解决方案对我不起作用。任何想法?

编辑

根据 phpinfo():

配置文件 (php.ini) 路径

/etc/php/7.0/apache2

加载的配置文件

/etc/php/7.0/apache2/php.ini

扫描此目录以获取其他 .ini 文件

/etc/php/7.0/apache2/conf.d

解析的其他 .ini 文件

/etc/php/7.0/apache2/conf.d/10-mysqlnd.ini,/etc/php/7.0/apache2/conf.d/10-opcache.ini,/etc/php/7.0/apache2/conf.d /10-pdo.ini,/etc/php/7.0/apache2/conf.d/15-xml.ini,/etc/php/7.0/apache2/conf.d/20-calendar.ini,/etc/php/ 7.0/apache2/conf.d/20-ctype.ini,/etc/php/7.0/apache2/conf.d/20-curl.ini,/etc/php/7.0/apache2/conf.d/20-dom。 ini,/etc/php/7.0/apache2/conf.d/20-exif.ini,/etc/php/7.0/apache2/conf.d/20-fileinfo.ini,/etc/php/7.0/apache2/conf .d/20-ftp.ini,/etc/php/7.0/apache2/conf.d/20-gd.ini,/etc/php/7.0/apache2/conf.d/20-gettext.ini,/etc/ php/7.0/apache2/conf.d/20-iconv.ini,/etc/php/7.0/apache2/conf.d/20-imagick.ini,/etc/php/7.0/apache2/conf.d/20- imap.ini、/etc/php/7.0/apache2/conf.d/20-intl.ini、/etc/php/7.0/apache2/conf.d/20-json.ini、/etc/php/7.0/apache2 /conf.d/20-mbstring.ini,/etc/php/7.0/apache2/conf.d/20-mcrypt.ini,/etc/php/7.0/apache2/conf.d/20-memcache.ini,/等/php/7.0/apache2/conf.d/20-mysqli.ini,/etc/php/7.0/apache2/conf.d/20-pdo_mysql.ini,/etc/php/7.0/apache2/conf.d/ 20-pdo_sqlite.ini,/etc/php/7.0/apache2/conf.d/20-phar.ini,/etc/php/7.0/apache2/conf.d/20-posix.ini,/etc/php/7.0 /apache2/conf.d/20-pspell.ini,/etc/php/7.0/apache2/conf.d/20-readline.ini,/etc/php/7.0/apache2/conf.d/20-recode.ini ,/etc/php/7.0/apache2/conf.d/20-shmop.ini,/etc/php/7.0/apache2/conf.d/20-simplexml.ini,/etc/php/7.0/apache2/conf。 d/20-snmp.ini,/etc/php/7.0/apache2/conf.d/20-sockets.ini,/etc/php/7.0/apache2/conf.d/20-sqlite3.ini,/etc/php /7.0/apache2/conf.d/20-sysvmsg.ini,/etc/php/7.0/apache2/conf.d/20-sysvsem.ini,/etc/php/7.0/apache2/conf.d/20-sysvshm .ini、/etc/php/7.0/apache2/conf.d/20-tidy.ini、/etc/php/7.0/apache2/conf.d/20-tokenizer.ini、/etc/php/7.0/apache2/ conf.d/20-wddx.ini、/etc/php/7.0/apache2/conf.d/20-xmlreader.ini、/etc/php/7.0/apache2/conf.d/20-xmlrpc.ini、/etc /php/7.0/apache2/conf.d/20-xmlwriter.ini,/etc/php/7.0/apache2/conf.d/20-xsl.ini

Ani*_*sad 6

我遇到了类似的问题。在 apache 下运行 php 时,php.ini 中的“date.timezone”显示为“未设置”/“无值”。通过phpinfo()检查。即使重新启动 apache,问题也没有解决。通过重新启动 php-fpm 服务(Fast cgi 进程管理器)即可解决。

systemctl 重新启动 php-fpm

[我的母语不是英语。在浏览完我的 stackoverflow 收件箱中的消息后,我尽力编辑答案]。


Mac*_*lot 0

php_info() 将始终指示正在使用的 .ini 的路径,确保这是正确的,并与您正在编辑的 ini 保持一致。