php configure

本文详细介绍如何从源码编译并安装PHP7.2.3,包括配置选项如mysqli、pdo_mysql、iconv、freetype、jpeg、png、zlib、libxml等,以及如何启用simplexml、xml、bcmath、soap、zip、curl、fpm、mbstring、sockets、gd、openssl、mhash、opcache等功能。

--prefix=/usr/local/php7.2.3 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo

### PHP Configure 配置参数及用法 #### 1. 基本概念 `./configure` 是一个脚本工具,通常用于在编译源码之前设置环境和选项。对于 PHP 的安装过程而言,它决定了哪些功能会被启用以及如何链接外部库。 --- #### 2. 常见 `./configure` 参数详解 以下是常见的 PHP `./configure` 参数及其作用: - **数据库支持** - `--with-pdo-mysql=DIR`: 启用 PDO 扩展并提供 MySQL 数据库的支持[^2]。 - 如果未指定 DIR,则会自动检测系统中的 MySQL 安装路径。 - `--with-pgsql=DIR`: 添加 PostgreSQL 支持。 - `--with-sqlite3=DIR`: 启用 SQLite3 支持。 - **扩展支持** - `--enable-pcntl`: 启用进程控制支持(仅限 CLI 和 CGI 模式下有效)。 - `--disable-opcache`: 禁用 Zend Opcache 功能,减少内存占用[^2]。 - **第三方库集成** - `--with-iconv=DIR`: 指定 iconv 库的位置。如果遇到错误 `/opt/downloads/php-7.1.3/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory`,可能是因为该库未被正确加载或路径未加入到系统的共享库配置中[^1]。 解决方法之一是确认 `libiconv.so.2` 文件的存在位置,并将其所在目录添加至 `/etc/ld.so.conf.d/` 下的相关文件中,或者直接运行命令更新动态链接器缓存: ```bash echo "/usr/local/lib" | sudo tee -a /etc/ld.so.conf.d/usr_local_lib.conf && ldconfig ``` - **其他实用参数** - `--prefix=PREFIX`: 设定 PHP 的安装路径,默认为 `/usr/local`。 - `--sysconfdir=SYSCONFDIR`: 设置配置文件存储路径,默认为 `${prefix}/etc`。 - `--localstatedir=LOCALSTATEDIR`: 指定状态文件保存路径,默认为 `${prefix}/var`。 - `--without-pear`: 不安装 PEAR 组件。 - `--enable-cli`: 编译 CLI 版本的 PHP- `--enable-fpm`: 启用 FastCGI 进程管理器(推荐 Web 使用场景)。 - `--with-config-file-path=PATH`: 指定 php.ini 文件所在的绝对路径。 - `--with-config-file-scan-dir=DIR`: 指定额外扫描的 ini 文件夹路径。 --- #### 3. 示例:完整的 `./configure` 脚本 以下是一个典型的 PHP `./configure` 脚本示例,适用于大多数生产环境需求: ```bash ./configure \ --prefix=/usr/local/php \ --exec-prefix=/usr/local/php \ --bindir=/usr/local/php/bin \ --sbindir=/usr/local/php/sbin \ --includedir=/usr/local/php/include \ --libdir=/usr/local/php/lib/php \ --mandir=/usr/local/php/man \ --with-config-file-path=/usr/local/php/etc \ --with-config-file-scan-dir=/usr/local/php/conf.d \ --with-curl \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --with-xsl \ --with-bz2 \ --with-gettext \ --with-readline \ --with-zlib-dir \ --with-mhash \ --with-mcrypt \ --with-iconv=/usr/local \ --with-imap \ --with-kerberos \ --with-imap-ssl \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-openssl \ --enable-soap \ --enable-shmop \ --enable-sysvsem \ --enable-sysvshm \ --enable-pcntl \ --enable-ftp \ --enable-exif \ --enable-calendar \ --enable-mbstring \ --enable-wddx \ --enable-intl \ --enable-dom \ --enable-simplexml \ --enable-xmlreader \ --enable-xmlwriter \ --enable-json \ --enable-session \ --enable-sockets \ --enable-tokenizer \ --enable-ctype \ --enable-filter \ --enable-posix \ --enable-hash \ --enable-pdo \ --enable-shared \ --enable-static \ --enable-inline-optimization \ --enable-memory-limit \ --enable-safe-mode \ --enable-nls \ --enable-debug=no \ --enable-fastcgi \ --enable-force-cgi-redirect \ --enable-discard-path \ --enable-cgi-fixpathinfo=yes \ --enable-flatfile \ --enable-modules=all \ --enable-all-optimizations \ --enable-large-files \ --enable-multibyte \ --enable-zip \ --enable-bcmath \ --enable-calendar \ --enable-dba \ --enable-fileinfo \ --enable-phar \ --enable-opcache=no \ --enable-fpm \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --disable-short-tags \ --disable-r path-info-check ``` 上述脚本启用了大部分常用的功能模块,并针对性能优化进行了调整。 --- #### 4. 错误排查指南 当执行 `./configure` 或后续编译阶段出现问题时,可按照如下方式解决: - 若提示缺少某些依赖项(如 `libiconv.so.2 not found`),需先安装对应软件包或手动编译相关库^。 - 当无法找到特定头文件时,可通过 `-with-*` 参数显式指明其路径。 - 如遇权限不足的情况(例如 `-bash: /etc/ld.so.conf.d/usr_local_lib.conf: Permission denied`),尝试切换 root 用户操作或赋予适当写入权限给目标文件[^1]^。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值