phpinfo()函数输出的快照:
当我尝试安装需要设置date.timezone的Roundcube时,我想通过填写php.ini中的date.timezone字段来设置date.timezone。
服务器配置
我尝试了什么
根据http://php.net/manual/en/timezones.php,我使用不同的语法修改了/etc/php/7.0/apache2/php.ini和/etc/php/7.0/cli/php.ini中的date.timezone字段: / p>
date.timezone = Europe/Paris
date.timezone = 'Europe/Paris'
date.timezone = "Europe/Paris"
我总是在任何改变后重启Apache。
phpinfo没有任何变化,date.timezone字段始终设置为"没有值"并且安装Roundcube的第一步,date.timezone不行。
但是当我尝试时:
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 / 1-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 / -gd.ini,/ etc / php / 7.0 / apache2 / conf.d / 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-miltpt.ini,/ etc / php / 7.0 / apache2 / conf.d / -20m-cache。 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 / -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-smmop.ini,/ etc / php / 7.0 / apache2 / conf.d / 1-simplexml.ini,/ etc / php / 7.0 / apache2 / conf.d / 20-snmp.ini,/ etc / php / 7.0 / apache2 / conf.d / - socket.ini,/ etc / php / 7.0 / apache2 / conf.d / 20-sysite3.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 / - xmlreader.ini,/ etc / php / 7.0 / apache2 / conf.d / - xmlrpc。 ini,/etc/php/7.0/apache2/conf.d/20-xmlwriter.ini,/etc/php/7.0/apache2/conf.d/20-xsl.ini
答案 0 :(得分:1)
我发现了这个问题。这是我在error_reporting区域的php.ini文件中的语法错误。
答案 1 :(得分:1)
让我做点贡献:我正在VPS上安装SilverStripe,却遇到了完全相同的问题。我整个下午一直在寻找答案,但没有取得积极的结果。经过所有尝试,我删除了“;”
前面[日期]
;定义日期函数使用的默认时区
; date.timezone =欧洲/伦敦
这是我得到答案的地方: https://www.silverstripe.org/community/forums/installing-silverstripe/show/15398?start=8
希望每个人都能避免这种麻烦
答案 2 :(得分:0)
php_info()将始终指示正在使用的.ini的路径,确保这是正确的,并与您正在编辑的ini保持一致。
答案 3 :(得分:0)
我注意到 xampp 的 php.ini 文件中有两个地方不同,这里:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "America/Phoenix"```
and here:
; List of headers files to preload, wildcard patterns allowed.
;ffi.preload=
[Syslog]
define_syslog_variables=Off
[Session]
define_syslog_variables=Off
[Date]
date.timezone=Europe/Berlin```
注意它们是不同的——我不知道“欧洲/柏林”是如何出现在我的 php.ini 中的。我注意到这出现在我的 php 错误日志中并搜索了整个 xampp 文件夹。