刚刚编译的PHP,编译过程如下
下载下来源码之后,要使用源码中的phpize生成configure,
/usr/local/php/bin/phpize
接下来执行configure
./configure \
--prefix=/usr/local/php\
--with-mhash \
--with-openssl \
--with-config-file-path=/usr/local/php/etc \
--disable-short-tags \
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--enable-xml \
--with-libxml-dir \
--enable-bcmath \
--enable-calendar \
--enable-intl \
--enable-mbstring \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-zip \
--enable-mbregex \
--enable-mysqlnd \
--enable-mysqlnd-compression-support \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--enable-ftp \
--with-curl \
--with-xsl \
--with-iconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--enable-sysvsem \
--enable-inline-optimization \
--with-xmlrpc \
--with-gettext
这个里面的参数--prefix是你php安装的目录
--with-config-file-path=/usr/local/php/etc 这是你php.ini 的存放目录
--enable-fpm 这个参数是生成你的php-fpm相关,没有这个参数你编译的php就没有php-fpm的文件
接下来执行
make
make test
make install
执行完这些你的php就编译完了,完了那是不可能的你只是安装完了。
编译php当中遇到的坑
编译安装完成之后没有,php-fpm.conf和www.conf这两个文件,需要我们把php-fpm.conf.default和www.conf.default复制出来修改为php-fpm.conf和www.conf,没有这一步你的php无法正常启动
这步完成之后你会发现php.ini在哪啊
去我们php源码的文件包中将php.ini-development复制过来修改名称为php.ini
去phpinfo看看php的信息,修改php.ini中一个参数项保存之后重启php-fpm 和nginx之后看下phpinfo中修改的参数有没有正确
phpinfo中这样是正确的,我在安装的过程中出现
Loaded Configuration File:(none)的情况
如果参数项没有变和出现上面的情况,我们来执行这样一个命令
/usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf -c /usr/local/php/etc/php.ini
这段话就是来指定我们的php.ini的位置
然后在重启php和nginx我们在来看看,就应该正确了