php.ini 在哪里?5个致命错误及如何避免

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

“这个该死的 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\n

php.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
\n\n

问题在于,在不同的操作系统和环境中,php.ini 的位置各不相同。这是新手遇到的第一个陷阱。

\n\n

在哪里寻找 php.ini:所有操作系统的速查表

\n\n

Linux (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\n

如何快速找到? 在终端中执行:

\n\n
php --ini
\n\n

这个命令会显示已加载的配置文件的路径。

\n\n

Windows

\n\n

在 Windows 上,php.ini 通常位于 PHP 安装文件夹中:

\n\n
C:\\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\n

macOS

\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\n

Docker

\n\n

在 Docker 容器中,路径与 Linux 标准路径相同:

\n\n
/usr/local/etc/php/php.ini
\n\n

但最好通过 volumes 挂载你自己的 php.ini:

\n\n
docker 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\n

PHP 可能为 CLI(命令行)和 Web 服务器(Apache/Nginx)使用不同的 php.ini。

\n\n

如何避免:

\n\n
    \n
  1. 创建一个包含以下内容的 PHP 文件:
  2. \n
\n\n
<?php\nphpinfo();\n?>
\n\n
    \n
  1. 在浏览器中运行它(如果你在检查 Web 版本)或在终端中运行(php yourfile.php)。
  2. \n
  3. 找到 Loaded Configuration File 这一行——这就是当前

博客

书籍推荐