PHP安装配置实质是php可执行文件、Web服务器与数据库的协同环境搭建;需通过which/php --ini确认PHP命令及配置文件路径,区分CLI与Web加载的不同php.ini,并检查扩展文件存在性、php.ini启用语句及extension_dir路径一致性,最后重启对应服务。

PHP 本身不“安装配置”,你真正要配的是 php 可执行文件 + Web 服务器(如 Apache/Nginx)+ 数据库(如 MySQL)的协同运行环境。直接装官方二进制或用包管理器拉下来的 php 命令,往往缺扩展、路径错、php.ini 不生效——这才是新手卡住的主因。
怎么确认系统里真有可用的 php 命令
别信“我刚下了 PHP 官网 ZIP 包解压了”,那只是文件,没加到 PATH 就等于没装。
- 终端输
which php(macOS/Linux)或where php(Windows CMD),有输出才说明系统能找到它 - 运行
php -v,如果报command not found或版本极老(如 7.2),说明不是你想要的那个 PHP - 运行
php --ini,看它实际加载的是哪个php.ini文件——90% 的配置失效问题,都出在这里
为什么 php.ini 改了没用
php.ini 不是改了就自动重载的配置文件,它只在 PHP 进程启动时读一次。Web 服务器和 CLI 模式还可能加载不同位置的 php.ini。
- CLI 下运行
php --ini显示 “Loaded Configuration File”,那个路径才是 CLI 真正读的 - Web 环境下,新建一个
info.php文件,内容为<?php phpinfo(); ?>,用浏览器访问,搜索 “Loaded Configuration File” —— 和 CLI 的很可能不一样 - 常见坑:Mac 用户用 Homebrew 装了 PHP,但 Apache 仍用系统自带旧版;Windows 用户双击安装包后没勾选“Add to PATH”,导致命令行用的是 C:\Windows\System32\php.exe
扩展(extension)启用失败的三个硬检查点
比如你想用 mysqli 或 pdo_mysql,php -m | grep mysql 却没输出?别急着重装。
立即学习“PHP免费学习笔记(深入)”;
- 先确认扩展文件存在:
ls /usr/lib/php/20220829/mysqli.so(Linux/macOS)或dir "C:\php\ext\php_mysqli.dll"(Windows) - 再检查
php.ini里这行是否取消注释:extension=mysqli(注意不是extension=php_mysqli.dll,新版 PHP 不要写后缀和路径) - 最后确认扩展所在目录已声明:
extension_dir = "/usr/lib/php/20220829"(路径必须和php -i | grep extension_dir输出一致)
最常被忽略的是:Apache 和 PHP-FPM 是两个独立进程,改完 php.ini 后,必须分别重启 httpd(或 apache2)和 php-fpm 服务,否则任何改动都不生效。CLI 模式改完也不用重启,但得关掉所有正在跑的 php -S 临时服务器再重开。



















