1.下载php5.5.34版本的php
解压
2.创建php-fpm用户
useradd -s /sbin/nologin php-fpm
3. cd php5.5.34
执行:
4.编译:【借鉴阿明linux的配置选项】
./configure \--prefix=/usr/local/php \--with-config-file-path=/usr/local/php/etc \--enable-fpm \--with-fpm-user=php-fpm \--with-fpm-group=php-fpm \--with-mysql=/usr/local/mysql \--with-mysql-sock=/tmp/mysql.sock \--with-libxml-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-iconv-dir \--with-zlib-dir \--with-mcrypt \--enable-soap \--enable-gd-native-ttf \--enable-ftp \--enable-mbstring \--enable-exif \--enable-zend-multibyte \--disable-ipv6 \--with-pear \--with-curl \--with-openssl
2.编译/安装后
1)拷贝配置文件
cp php.ini-production /usr/local/php/etc/php.ini
2)拷贝脚本:
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 可以去编辑的只是一个启动的shell脚本
3)修改权限php-fpm
授予其执行的权限:
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
4) 启动, service php-fpm start
注意配置文件: php-fpm.conf
5)启动之前你也可以检查一下配置文件的正确性:
/usr/local/php/sbin/php-fpm -t
6)启动
流程下来,觉得mysql的安装有点类似。
错误以及解决方案:
1.configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
yum install -y gcc
2.
configure: error: xml2-config not found. Please check your libxml2 installation.
yum install -y libxml2.x86_64 libxml2-devel.x86_64
3.configure: error: Cannot find OpenSSL's <evp.h>
<p> yum install -y openssl.x86_64 openssl-devel.x86_64</p><p>4.</p><p>error: Please reinstall the libcurl distribution -</p><p> easy.h should be in <curl-dir>/include/curl/</p><p>yum install -y curl.x86_64 libcurl-devel.x86_64</p><p>5.checking whether to enable JIS-mapped Japanese font support in GD... no</p><p>If configure fails try --with-vpx-dir=<DIR></p><p><strong>yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y</strong><br /></p><p><strong>测试结果:</strong></p><p><strong>6.</strong></p><p><strong>configure: error: jpeglib.h not found.</strong></p><p><strong>这个搓错误,不是安装libjpeg 和libjpeg-devel </strong></p><p>应该是:</p><p> yum install -y libjpeg-turbo.x86_64 libjpeg-turbo-devel.x86_64</p><p>7.</p><p>mcrypt.h not found. Please reinstall libmcrypt.</p><p>发现yum源没有这个安装包,就要扩展yum源了:</p><p> yum install -y epel-release.noarch</p><p>然后查找文件</p><p>yum install -y libmcrypt.x86_64 libmcrypt-devel.x86_64</p><p>8.</p><p>error: Cannot find MySQL header files under /usr/local/mysql.</p><p>Note that the MySQL client library is not bundled anymore!</p><p>9.启动的时候的错误:</p><p>[root@ip5 php-5.5.34]# service php-fpm start</p><p>Starting php-fpm [27-Apr-2016 17:24:21] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)</p><p>[27-Apr-2016 17:24:21] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'</p><p>[27-Apr-2016 17:24:21] ERROR: FPM initialization failed</p><p> failed</p><p>说明是没有启动php-fpm 的配置文件,那么,我们只需要去其安装路径中重命名:php-fpm.conf.defult 重名为:php-fpm.conf</p><p>10.启动php的-fpm的时候,出现:</p><p>启动php-fpm的时候,这个提示不知道为啥?<br />[root@daiqing php-5.5.31]# service php-fpm start<br />Starting php-fpm [14-Jan-2016 06:16:59] ERROR: [pool www] cannot get uid for user 'php-fpm'<br />[14-Jan-2016 06:16:59] ERROR: FPM initialization failed<br />failed</p><p> 原因分析i:</p><p> 创建用户没有成功,useradd -s /sbin/nologin php-fpm </p><p>11.编译的时候i,出现参数:</p><p> --enable-zend-multibyte :</p><p> 该编译参数已经不存在了。</p><p>12. 查看php的编译参数:</p><p> /usr/local/php/bin/php -i |head </p>