本次编译安装7.0.32版本,下载、解压略过
一、编译以前的步骤 .configure
./configure --prefix=/usr/local/php-7.0.32 #php安装目录 --with-mhash #mhash算法的扩展 --with-openssl #openssl的支持,加密传输时用到的 --with-config-file-path=/usr/local/php-7.0.32/etc #指定php.ini位置 --disable-short-tags #禁用php短标签 --enable-fpm #打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序 --with-fpm-user=php-fpm #未知,猜的 --with-fpm-group=php-fpm #未知,猜的 --enable-zip #支持zip --with-gd #gk库 --enable-ftp #容许ftp --with-curl #容许curl --with-xsl #打开XSLT 文件支持,扩展了libXML2库 ,须要libxslt软件 --with-jpeg-dir #打开对jpeg图片的支持 --with-png-dir #打开对png图片的支持 --with-zlib #打开对zlib的支持 --enable-inline-optimization #优化线程 --with-xmlrpc #打开xml-rpc的c语言 --with-gettext #打开gnu 的gettext 支持,编码库用到 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ --with-mysqli=/usr/bin/mysql_config #mysqli扩展 --with-pdo-mysql=/usr/bin/mysql_config #pdo扩展 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
重点看上面标出的步骤,不知道从哪一版本开始,PHP不在但愿使用mysql的库来支持mysql的链接,启用了mysqlnd来支持,编译都没有了--with-mysql参数,只支持--with-mysqli和--with-pdo-mysql
也就是说
不须要配置mysql_config地址,直接上代码【在这里卡了好久,一直报各类错】php
--enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
因此我安装的第一步【注意看上面参数解释,路径要换成本身的】mysql
./configure --prefix=/usr/local/php-7.0.32 --with-mhash --with-openssl --with-config-file-path=/usr/local/php-7.0.32/etc --disable-short-tags --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --enable-zip --with-gd --enable-ftp --with-curl --with-xsl --with-jpeg-dir --with-png-dir --with-zlib --enable-inline-optimization --with-xmlrpc --with-gettext --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
二、make make install 编译安装成功
三、开启php-fpm [/usr/local/php-7.0.32/sbin/php-fpm -R ]
好了,到这里又出错了
个人php安装在/usr/local/php-7.0.32下,如下均以此地址演示,新手别直接拷地址算法
[03-Dec-2018 22:25:53] ERROR: failed to open configuration file '/usr/local/etc/php-fpm.conf': No such file or directory (2) [03-Dec-2018 22:25:53] ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf' [03-Dec-2018 22:25:53] ERROR: FPM initialization failed
解决办法:
进入安装目录下的 etc文件夹 将php-fpm.conf.default 拷贝一份成php-fpm.conf.default,再软链接到/usr/local/etc下sql
cp php-fpm.conf.default php-fpm.conf ln php-fpm.conf /usr/local/etc/php-fpm.conf
[03-Dec-2018 22:29:12] WARNING: Nothing matches the include pattern '/usr/local/php-7.0.32/etc/php-fpm.d/*.conf' from /usr/local/etc/php-fpm.conf at line 125. [03-Dec-2018 22:29:12] ERROR: No pool defined. at least one pool section must be specified in config file
解决代码:curl
cd /usr/local/php-7.0.32/etc/php-fpm.d cp www.conf.default www.conf
[03-Dec-2018 22:32:05] ERROR: [pool www] cannot get uid for user 'php-fpm' [03-Dec-2018 22:32:05] ERROR: FPM initialization failed
这个我认为是php-fpm的控制权限问题
解决办法:
在上一步的 www.conf中 有个user = vagrant 跟 group = vagrant 改为当前系统的用户名php-fpm
结束,但愿能帮到你们