在Linux系统中部署PHP后,其安装目录结构会根据安装方式的不同产生差异,常见的安装方式包括系统包管理器安装、源码编译安装,不同方式对应的目录分布和核心文件位置有明显区别,掌握这些结构能帮助开发者快速定位配置、扩展和二进制程序。

包管理器安装的PHP目录结构
使用yum、apt等系统包管理器安装的PHP,目录结构遵循Linux系统的文件系统层次标准,核心文件分散在多个系统默认目录中,常见的目录分布如下:
- /usr/bin/php:PHP的二进制可执行文件,用于命令行执行PHP脚本
- /etc/php.d/:存放PHP扩展的单独配置文件,每个扩展对应一个.ini文件
- /etc/php.ini:PHP的主配置文件,全局配置项都在此文件中定义
- /usr/lib64/php/modules/:存放PHP的预编译扩展模块文件,后缀为.so
- /var/lib/php/:存放PHP运行时的临时文件、会话文件等数据
源码编译安装的PHP目录结构
通过源码编译安装PHP时,可以通过--prefix参数指定安装根目录,默认根目录为/usr/local/php,其下的子目录结构更集中,核心目录如下:
- bin/:存放php、phpize、php-config等二进制可执行程序
- etc/:存放php.ini配置文件,编译时可通过--with-config-file-path参数指定路径
- lib/php/extensions/:存放编译生成的扩展模块文件
- include/php/:存放PHP开发所需的头文件,用于扩展编译
- var/:存放日志、会话等运行时数据
如何查看当前PHP的目录路径
可以通过PHP内置的命令快速查看当前环境的安装路径和配置信息,常用的命令如下:
查看PHP二进制文件路径
执行以下命令可以获取php可执行文件的实际位置:
# 查看php命令的路径 which php # 查看php二进制文件的详细信息 ls -l $(which php)
查看PHP配置目录和加载的配置文件
通过php -i命令可以输出PHP的详细配置信息,其中包含配置文件路径和扩展目录:
<?php // 查看php.ini的加载路径 echo php_ini_loaded_file(); // 查看PHP的扩展目录 echo PHP_EXTENSION_DIR; // 查看所有PHP配置信息 phpinfo(); ?>
也可以直接在命令行执行php -i | grep "Configuration File"快速获取配置文件路径,执行php -i | grep "extension_dir"获取扩展目录路径。
核心目录的作用说明
无论采用哪种安装方式,以下几个核心目录的作用是一致的:
| 目录/文件 | 作用说明 |
|---|---|
| php.ini | PHP的主配置文件,用于设置内存限制、上传文件大小、时区等全局配置 |
| extensions目录 | 存放所有PHP扩展的二进制模块,启用扩展时需要确保文件在此目录中 |
| bin目录 | 存放PHP相关的可执行程序,包括命令行工具、扩展编译工具等 |
| var目录 | 存放PHP运行时的临时数据,如会话文件、OPcache缓存文件等 |
注意事项
修改php.ini配置文件后,需要重启PHP服务(如php-fpm)或者重启Web服务器才能让配置生效,仅修改文件不会立即生效。
如果是编译安装PHP,后续安装扩展时,扩展的.so文件会默认安装到lib/php/extensions/目录下,不需要手动移动文件,只需要在php.ini中添加extension=扩展名.so即可启用。