vm安装php,系统为centos7,php版本为5.6.15。
首先解压,进入源码目录:
对源码进行编译配置:
配置参数:
./configure --prefix=/usr/local/php --enable-fpm --with-curl --with-openssl --enable-mbregex --with-mysql --with-mysqli --with-mysql-sock --enable-pdo --with-pdo-mysql --enable-mysqlnd --with-gd --with-zlib --enable-zip --with-bz2 --enable-xmlreader --enable-xmlwriter --enable-mbstring --with-xmlrpc --with-libxml-dir=/usr --enable-soap --enable-sockets --enable-pcntl --enable-exif --enable-bcmath --with-mhash --enable-ftp --enable-opcache --disable-fileinfo --with-apxs2=/usr/local/apache2/bin/apxs --with-pear
部份参数说明:
--with-apxs2=/usr/local/apache2/bin/apxs 使php做为apache的一个模块来进行编译,与apache的--enable-so参数相合,此目录为你安装apache的目录;
--with-curl 打开curl浏览工具的支持;
--enable-fpm CGI方式安装的启动程序;
--with-openssl 打开openssl支持,加密传输https时能用到
--enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
--with-mhash mhash算法扩展
--enable-sockets 打开 sockets 支持
--enable-exif 打开图片的元数据支持
--enable-ftp 启用ftp支持
--enable-mbstring 启用多字节字符串支持
--with-pear 打开pear命令的支持
开始configure,发生一个错误:
看错误的描述,是系统中缺少libxml库,使用yum进行安装:
安装完成后继续configure,还是有错误发生:
看错误信息描述,是系统中缺少bzip2,好吧,继续安装:
冲破千难万险,继续configure,继续看错误:
错误信息提示是系统中缺少libcurl库,安装:
继续配置,继续发生错误的旅程:
看这些错误信息,是缺少jpeg/png等的库,继续安装:(
库安装完成后,继续./configure,好吧,这次终于没有再出现错误了,泪流满面啊5555。。。
好了,可以开始make和make install了:)
make &&make install的时间大概需要几分钟,这个看机器的配置了。
到apache目录中看一下编译的php模块:
看到编译出来的libphp5.so模块,编辑apache的配置文件httpd.conf,咦,我靠,竟然自己加入到配置文件中了,省事了:)
做下测试,看看apache和php的安装情况如何:
编辑一个文件,输出最经典的phpinfo();
咦,在浏览器里输入IP/a.php后,发现找不到服务器,怎么回事??
噢,想起来了,可能是防火墙没关掉。。
关掉防火墙后再试一次,这次出现信息了,但不是期望的信息,apache服务器没有解析php,而是将代码当成文本进行原样输出了,为什么??
回想一下操作过的步骤,恩,apache的配置文件还是有问题,继续修改httpd.conf,在其最后加一行:
让apache知道去解析php文件,然后再用浏览器查看一下:
终于出来了这个熟悉的界面,哈哈,大功告成,可以睡觉了:)