【发布时间】:2018-03-29 01:43:03
【问题描述】:
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.ini 中的 date.timezone 字段:
date.timezone = Europe/Paris
date.timezone = 'Europe/Paris'
date.timezone = "Europe/Paris"
而且我总是在进行任何更改后重新启动 Apache。
phpinfo 没有任何变化,date.timezone 字段总是设置为“无值”并且安装 Roundcube 的第一步,date.timezone 是 NOT OK。
但是当我尝试时:
php -i
我明白了:
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
我阅读了许多关于此类问题的非常古老的帖子,但不同的解决方案对我不起作用。有什么想法吗?
编辑
根据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, /etc/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
【问题讨论】:
-
你的 cli ini 很好,但非 cli 显然有问题。在页面上执行 phpinfo() 并搜索
.ini以查看解析了哪些 ini 文件,然后检查它们没有覆盖设置 -
使用 php ini_set : stackoverflow.com/questions/15096297/…
-
@FarhangNegari 用户正在尝试安装一些软件。我不建议更改软件的源代码。
-
@delboy1978uk 我已经编辑了额外解析的.ini文件。
-
@FarhangNegari 我不确定 ini_set 能否解决我的问题,因为我想为 Roundcube 安装正确设置 date.timezone。
标签: php apache date datetime phpinfo