php 8.3.14 编译安装后 php.ini 不自动生成,需在 configure 阶段用 --with-config-file-path 指定目录(如 /usr/local/php83/etc),并手动复制 php.ini-production;--with-config-file-scan-dir 指定 conf.d 目录用于模块化配置。

编译安装 PHP 8.3.14 时,php.ini 文件不会自动生成,也不会默认放在你期望的位置——它的路径由 --with-config-file-path 和 --with-config-file-scan-dir 两个配置参数共同决定,且需在 ./configure 阶段明确指定。
关键点就两个:
-
--with-config-file-path=/path/to/php.ini/dir:指定主php.ini所在目录(注意,是目录,不是文件全路径); -
--with-config-file-scan-dir=/path/to/conf.d(可选但推荐):指定额外.ini文件扫描目录,用于模块化配置加载。
例如,你想让 php.ini 最终位于 /usr/local/php83/etc/php.ini,那就必须:
./configure \ --prefix=/usr/local/php83 \ --with-config-file-path=/usr/local/php83/etc \ --with-config-file-scan-dir=/usr/local/php83/etc/conf.d \ # 其他选项,如 --enable-fpm、--with-mysqlnd 等
执行完 make && make install 后:
-
主配置文件不会自动创建,你需要手动复制源码包里的模板:
cp php.ini-production /usr/local/php83/etc/php.ini
(
php.ini-development适合开发环境,php.ini-production更安全严谨) /usr/local/php83/etc/conf.d/目录会自动创建(如果 configure 指定了),你后续可把opcache.ini、redis.ini等扩展配置放这里,PHP 启动时会自动合并加载。
常见误区:
- 误以为
--with-config-file-path可以直接写成/usr/local/php83/etc/php.ini→ ❌ 错,它只接受目录路径; - 安装后运行
php --ini显示的“Loaded Configuration File”为(none)→ 说明没找到php.ini,大概率是路径不匹配或文件未复制; - 修改了
php.ini但phpinfo()不生效 → 检查是否启用了 FPM 或 CLI,它们可能读取不同 SAPI 的配置(用php --ini和php-fpm -t分别确认)。
最后验证方式:
/usr/local/php83/bin/php --ini # 输出应类似: # Configuration File (php.ini) Path: /usr/local/php83/etc # Loaded Configuration File: /usr/local/php83/etc/php.ini
路径对了,文件有了,才算真正落定。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











