/etc/php.d/*.ini文件是什么时候加载呢?

seai 2011-01-11 06:29:27
我在/etc/php.ini里面使用 extension=memcached.so 加载扩展的话会加载不了,查看错误是需要json支持。json是在/etc/php.d/json.ini里面加载的,后来在/etc/php.d/下面建立memcached.ini加载memcached.so就没问题了。

请问,是否意味着/etc/php.d/*.ini加载的扩展一定在/etc/php.ini之后?
...全文
626 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
seai 2011-01-11
  • 打赏
  • 举报
回复
http://xcache.lighttpd.net/wiki/PhpIni.zh

这倒是有点线索,不过也没说明具体在加载顺序。
seai 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 skyaspnet 的回复:]

根据在WINDOWS下PHP环境的经验,它是在将PHP.INI加载到内存时,当读取到扩展信息时进行加载,如果加载失败则往下执行,由此看来,是串行执行加载的。
[/Quote]


肯定是有个加载顺序的,我说的不就是那么回事吗?

问题是/etc/php.ini中的extension指令一定先于/etc/php.d/*.ini文件中的extension吗?
skyaspnet 2011-01-11
  • 打赏
  • 举报
回复
根据在WINDOWS下PHP环境的经验,它是在将PHP.INI加载到内存时,当读取到扩展信息时进行加载,如果加载失败则往下执行,由此看来,是串行执行加载的。
goosman 2011-01-11
  • 打赏
  • 举报
回复
下面是这几天看php最新文档关于配置文件加载顺序的笔记
php.ini文件的搜索顺序:
1. SAPI模块指定位置(Apache2的PHPIniDir指令指明, CGI和CLI模式调用时的-c选项指定, NSAPI的php_ini参数, THTTPD的PHP_INI_PATH环境变量)
2. PHPRC环境变量, 在PHP5.2.0之前这个检查会在下面提到的注册表项检查之后进行
3. (仅windows)PHP5.2.0开始, php.ini文件可以为不同版本的php设置不同的路径, 这个是指是通过注册表项进行的, 比如[HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], x, y, z分别代表PHP的大版本, 小版本, 发布版本号, 在这个注册表项下设置IniFilePath项值指定路径即可
4. (仅windows)[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]注册表项下的IniFilePath设置
5. (除CLI模式)当前工作目录
6. web服务器目录(对于SAPI模块), 或者PHP的目录(除了windows)
7. windows目录(c:\windows或c:\winnt, 仅对于windows), 或者--with-config-file-path的编译时选项指定的路径


配置文件有一个主配置文件, 就是php.ini
另外php5.3开始php-fpm的sapi开始支持每个文件下使用.user.ini来做独立配置
.user.ini中的配置会覆盖主配置文件php.ini中的配置指令

楼主的情况应该和fpm的.user.ini类似, 我觉得, 可以认为是你说的那样..

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧