五、PHP的安装
PHP的安装我认为是LAMP架构中比较麻烦的一个,因为apache只能提供静态内容,所以动态内容的呈现就交给了php和mysql,而一旦php不支持某些功能,有些应用请求是无法完成的,这就变得相当复杂。因此我们要在一开始架构体系时,就要对架构后期的应用有个全面且较为深刻的理解。废话不说了,以后大家终将都会明白,我们一直都在进步,不是吗?
1.php的安装包我们使用5.6版本的最新稳定版php-5.6.11.tar.bz2,解压缩
tar xvf php-5.6.11.tar.bz2
2.进入php目录下,进行编译安装。这次我们不提前安装依赖包,而是在编译过程中,根据报错信息,一边修补一边安装,这样也更能让大家体会到真实生活中所面临的问题。但是要相信,最终总是会解决的,可能过程比较复杂,但是你同样要相信,你花十天学会一样东西和花费半个时辰学会一样东西的熟练度与认知度是不一样的。我们有生以来可能会遭受太多的欺骗,但是唯有自己的汗水是不会欺骗自己,相信自己,一起加油吧!
cd php-5.6.11
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-gd --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
报错1:configure: error: xml2-config not found. Please check your libxml2 installation
解决办法:yum install libxml2 libxml2-devel -y
现在重新编译安装,上面问题已解决,但是又报错:
报错2: checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution
解决办法:yum install bzip2 bzip2-devel
重新编译安装,同样又有新的报错,这次是:
报错3: checking for T1lib support... no
checking whether to enable truetype string function in GD... no
checking whether to enable JIS-mapped Japanese font support in GD... no
If configure fails try --with-vpx-dir=<DIR>
configure: error: jpeglib.h not found.
解决办法:yum install gd.x86_64 gd-devel.x86_64 jpeg-turbo.x86_64 libjpeg-turbo-devel.x86_64 libpng.x86_64 libpng-devel.x86_64 freetype.x86_64 freetype-devel.x86_64
继续重新编译,发现果然还有一个问题,
报错4:configure: error: mcrypt.h not found. Please reinstall libmcrypt.
提示我们加密文件的头文件找不到,其实我们根本没有安装。我们来重新安装一下,这个安装要稍微复杂一点,需要下载四个安装包,分别是:libmcrypt-2.5.8-alt1.x86_64.rpm mhash-0.9.9.9-3.el6.x86_64.rpm libmcrypt-devel-2.5.8-alt1.x86_64.rpm mhash-devel-0.9.9.9-3.el6.x86_64.rpm 现在我们就来安装一下。
解决办法:rpm -ivh libmcrypt-2.5.8-alt1.x86_64.rpm mhash-0.9.9.9-3.el6.x86_64.rpm libmcrypt-devel-2.5.8-alt1.x86_64.rpm mhash-devel-0.9.9.9-3.el6.x86_64.rpm 出现如下提示即证明安装成功
现在我们继续编译安装吧,应该不会再有问题了。如果出现下面这样的界面,则表示编译通过了。
3.现在可以make了,可能要等一会了,这个时间稍微会长一点。
make
在我们make完成之后,一般会提示让我们测试一下,没事的话大家可以做一下,命令:make test,我就不测试了,直接进行安装了。
4.安装
make install
这步非常快,如下即可。
5.为php提供配置文件,也是php自己已经写好的,我们直接复制改名,放到之前定义的php配置文件位置就行了。如下图:
6.编译apache的配置文件,整合apache和php。
vi /usr/local/apache/conf/httpd.conf 需要修改两处
第一处:找到AddType 行,然后添加如下两行。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
第二处:定位至DirectoryIndex index.html 修改为:
DirectoryIndex index.php index.html
保存好退出,重启httpd,重启命令还记得吧,apachectl restart。
7.在重启之前我们要写个php的测试文件,不然你怎么知道php有没有被apache整合调用呢。在/usr/local/apache/htdocs/下编辑一个index.php文件。即
vi /usr/local/apache/htdocs/index.php 写上如下代码:
<?php
phpinfo();
?>
保存退出即可。
8.现在可以去重启Apache了,看一下有没有把php的信息调用出来。重启以后,我们在浏览器访问虚拟linux服务器地址。如下图即证明我们成功了。
在这个界面里,我们可以查看装了那些插件,支持哪些功能等等。到这里,LAMP架构就基本上结束了,但是现在企业对php进行调用的时候,一般会采取专门机制为php进行加速,目前企业比较倾向于实用xcache为php加速。下一节我们简单介绍一下,如何实用xcache为php加速。