“这个该死的 php.ini 到底在哪?”——这个问题连经验丰富的开发者都抓狂
\n\n你是否曾感觉自己像个寻宝猎人,但寻找的不是金子,而是 php.ini?如果是,那你并不孤单。在 Stack Overflow 上,“Where can I find php.ini?” 这个问题已经积累了数万次浏览。这绝非偶然。
\n\n想象一下:你安装了 PHP,写好了完美的代码,但它却固执地拒绝工作。或者你修改了 php.ini 中的设置,重启了服务器,但更改……没有生效。熟悉吗?欢迎加入这个俱乐部。
\n\n在这篇文章中,我们不仅会展示 php.ini 的位置。我们还会分析 5 个最常见的错误,这些错误是开发者经常犯的,并给出清晰的指导来避免它们。开始吧!
\n\n什么是 php.ini,为什么需要它?
\n\nphp.ini 是 PHP 的主要配置文件。正是在这里,你控制着语言的行为:从最大上传文件大小到脚本执行时间。没有它,PHP 会“随心所欲”地运行——使用默认设置。
\n\n以下是一些你可以在 php.ini 中修改的参数:
\n\n- \n
upload_max_filesize— 最大上传文件大小 \n max_execution_time— 脚本最大执行时间 \n memory_limit— 脚本内存限制 \n display_errors— 是否在屏幕上显示错误 \n error_reporting— 错误报告级别 \n
问题在于,在不同的操作系统和环境中,php.ini 的位置各不相同。这是新手遇到的第一个陷阱。
\n\n在哪里寻找 php.ini:所有操作系统的速查表
\n\nLinux (Ubuntu, Debian, CentOS)
\n\n在 Linux 上,该文件可能位于多个位置。最常见的是:
\n\n/etc/php/8.1/cli/php.ini # 用于命令行 (CLI)\n/etc/php/8.1/apache2/php.ini # 用于 Apache\n/etc/php/8.1/fpm/php.ini # 用于 PHP-FPM\n\n请注意:PHP 版本 (8.1) 可能不同。如果你使用的是 PHP 8.0,路径将是 /etc/php/8.0/...。
如何快速找到? 在终端中执行:
\n\nphp --ini\n\n这个命令会显示已加载的配置文件的路径。
\n\nWindows
\n\n在 Windows 上,php.ini 通常位于 PHP 安装文件夹中:
\n\nC:\\php\\php.ini\nC:\\Program Files\\PHP\\php.ini\nC:\\xampp\\php\\php.ini # 如果你使用 XAMPP\nC:\\wamp64\\bin\\php\\php8.1.0\\php.ini # 用于 WAMP\n\nmacOS
\n\n在 macOS 上(如果通过 Homebrew 安装 PHP):
\n\n/usr/local/etc/php/8.1/php.ini\n/opt/homebrew/etc/php/8.1/php.ini # 用于 Apple Silicon\n\n如果你使用 Apple 内置的 PHP(不推荐),路径可能会不同。
\n\nDocker
\n\n在 Docker 容器中,路径与 Linux 标准路径相同:
\n\n/usr/local/etc/php/php.ini\n\n但最好通过 volumes 挂载你自己的 php.ini:
\n\ndocker run -v /path/to/your/php.ini:/usr/local/etc/php/php.ini my-php-app\n\n处理 php.ini 时的 5 大错误(以及如何避免)
\n\n错误 #1:我修改了错误的 php.ini
\n\n这是最常见的问题。你打开文件,修改设置,重启服务器,但 PHP 仍然按旧方式运行。为什么?因为你修改了错误的文件!
\n\nPHP 可能为 CLI(命令行)和 Web 服务器(Apache/Nginx)使用不同的 php.ini。
\n\n如何避免:
\n\n- \n
- 创建一个包含以下内容的 PHP 文件: \n
<?php\nphpinfo();\n?>\n\n- \n
- 在浏览器中运行它(如果你在检查 Web 版本)或在终端中运行(
php yourfile.php)。 \n - 找到 Loaded Configuration File 这一行——这就是当前