apache+php要注意在apache中配置php.ini路径

原文地址:http://blog.csdn.net/teedry/article/details/8029408

1、闲来搞下PHP的东东,今天搭了下PHP的运行环境,在测试date函数时老报如下错:

"PHP Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in"XXX

上网查了下资料,解决方案有三:

一、在页头使用date_default_timezone_set()设置 date_default_timezone_set('PRC'); //东八时区 echo date('Y-m-d H:i:s');

二、在页头使用 ini_set('date.timezone','Asia/Shanghai');

三、修改php.ini。打开php5.ini查找date.timezone 去掉前面的分号修改成为:date.timezone =PRC或Asia/Shanghai

 

看了下php.ini里面有个datetime.zone的选项:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

访问http://php.net/date.timezone 可以看到相关的内容,里面提到china配置的时区:

// Shanghai, China, Asia
date.timezone = "Asia/Shanghai"
date.default_latitude = 31.5167
date.default_longitude = 121.4500

改完配置后,重启apache,运行看了下,还是报一样的错,就是说改的东西没有生效,但试了下其它的两种方法是可以的。

后面在apache配置文件httpd.conf配置支持php的地方加上:PHPIniDir "D:/php5.4.7" 问题解决

Apache 设置的时候 PHPIniDir 有什么作用呢?
与php4搜索php.ini是在%SystemRoot%下不同的是,PHP5按照以下顺序依次查找PHP.ini:

* PHPIniDir (Apache 2 module only)
* 注册表键值:HKEY_LOCAL_MACHINE—SOFTWARE—PHPIniFilePath
* 环境变量:%PHPRC%
* PHP5的目录 (for CLI), 或者web服务器目录(for SAPI modules)
* Windows目录(C:\windows or C:\winnt) 
所以如果是Apache + PHP5的话可以使用 PHPIniDir 指定php5的配置文件php.ini的路径。

#以apache的模块方式运行php,全部配置如下:

LoadModule php5_module modules/php5apache2_2.dll
PHPIniDir "D:/php5.4.7"
AddType application/x-httpd-php .php .html


你可能感兴趣的:(apache+php要注意在apache中配置php.ini路径)