在记MAC OS X 编译安装PHP7.0.16 中遇到的异常情况一文中,介绍了编译PHP7源码安装PHP的方式,其中的第四个步骤,命令如下:
    ./configure --prefix=/usr/local/php/php7 \
        --with-config-file-path=/usr/local/php/php7/etc \
        --with-config-file-scan-dir=/usr/local/php/php7/etc/conf.d \
        --enable-bcmath \
        --with-bz2 \
        --with-curl \
        --enable-filter \
        --enable-fpm \
        --with-gd \
        --enable-gd-native-ttf \
        --with-freetype-dir \
        --with-jpeg-dir \
        --with-png-dir \
        --enable-intl \
        --enable-mbstring \
        --with-mcrypt \
        --enable-mysqlnd \
        --with-mysql-sock=/tmp/mysql.sock \
        --with-mysqli=mysqlnd \
        --with-pdo-mysql=mysqlnd \
        --with-pdo-sqlite \
        --disable-phpdbg \
        --disable-phpdbg-webhelper \
        --enable-opcache \
        --with-openssl=/usr/local/Cellar/openssl/1.0.2l \
        --enable-simplexml \
        --with-sqlite3 \
        --enable-xmlreader \
        --enable-xmlwriter \
        --enable-zip \
        --enable-sockets \
        --with-xmlrpc
命令后面的一些配置参数主要是用来打开或者关闭PHP的某些特性,如果这里有一些特性忘记打开,或者当时编译安装时不需要但后面的工作中需要这个特性,那么就需要单独编译安装这个特性了。
下面以pcntl扩展为例,介绍一下安装的步骤
- 进入之前安装的PHP的源码,根据上面给出的文章,我的PHP源码路径是:cd /usr/local/src/php-7.x.x
- 进入扩展目录:cd ext/pcntl
- 执行:phpize
- 执行:./configure --with-php-config=/usr/local/bin/php-config这里的路径通过执行which php-config得到
- 编译安装:make && make install
- 在/usr/local/php/php7/etc/conf.d/modules.ini文件中添加:extension=pcntl.so
- 重启FPM:kill -USR2 cat /usr/local/php/php7/var/run/php-fpm.pid
- 检查是否安装成功:php -m | grep pcntl
done.
