快速搭建Linux开发测试WEB服务器系列8-编译安装PHP
这篇我们介绍编译安装PHP, 目前PHP已经发布到5.2.9 版本. 我们本次安装即采用这个版本安装. 安装之前. 先安装几个依赖包. 在前面的系列文章中. 我们依据安装软件的不同软件陆续的安装了一些第三方的软件包. 这里说明一下就是, 如果前面介绍的软件包未安装. 这里请浏览前面的文章, 一次补上. 否则可能会碰到编译失败的情况. 当然, 可能没有人的电脑的环境安装的时候已经安装好了相关的包. 这里提醒一下. 不让到时候死活编译出错. 是件很烦人的事情. 我们采用静态编译安装PHP. 关于静态编译安装和动态编译安装后的PHP效率问题经过测试几乎是没有区别的. 所以安装方式看个人的喜好.
这里先安装一下几个必要的包:
1 2 3 | sudo apt-get install flex sudo apt-get install libxml2 libxml2-dev sudo apt-get install openssl |
另外需要一些其他扩展模块. 这里先安装一个 curl 模块 CURL 模块目前最新版本到了 7.19.5 , 我们使用最新版安装. 包下载地址是: http://curl.haxx.se/download.html , 下载好包 curl-7.19.5.tar.gz 后解压安装.
1 2 3 4 5 6 | tar -zxf curl-7.19.5.tar.gz -C ~/sources cd ~/sources/curl-7.19.5 sudo mkdir /usr/local/curl ./configure --prefix=/usr/local/curl --with-ssl make sudo make install |
安装 GD 扩展, JPEG 图片处理支持, 下载地址: http://www.ijg.org/files/jpegsrc.v6b.tar.gz 下载好包:jpegsrc.v6b.tar.gz 后解压安装.
1 2 3 4 5 6 7 8 9 10 11 | tar -zxf jpegsrc.v6b.tar.gz -C ~/sources cd ~/sources/jpeg-6b sudo mkdir /usr/local/jpeg sudo mkdir /usr/local/jpeg/bin sudo mkdir /usr/local/jpeg/lib sudo mkdir /usr/local/jpeg/include sudo mkdir /usr/local/jpeg/man sudo mkdir /usr/local/jpeg/man/man1 ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static make sudo make install |
GD扩展 PNG 图片处理支持. 下载地址为: http://www.libpng.org/pub/png/libpng.html 目前版本为: 1.2.35 , 下载包:libpng-1.2.35.tar.gz 解压安装.
1 2 3 4 5 6 | tar -zxf libpng-1.2.35.tar.gz -C ~/sources cd ~/sources/libpng-1.2.35 cp scripts/makefile.linux makefile ./configure make sudo make install |
另外安装一下 freetype 支持. 下载地址:http://freetype.sourceforge.net/index2.html , 下载包: freetype-2.3.9.tar.gz 解压安装.
1 2 3 4 5 | tar -zxf freetype-2.3.9.tar.gz -C ~/sources cd ~/sources/freetype-2.3.9 ./configure --prefix=/usr/local/freetype2 make sudo make install |
另外2个加密相关的包 mcrypt 和 mhash 下载安装.
libmcrypt: http://mcrypt.sourceforge.net/ 下载 libmcrypt-2.5.8.tar.gz 解压安装
1 2 3 4 5 | tar -zxf libmcrypt-2.5.8.tar.gz -C ~/sources cd ~/sources/libmcrypt-2.5.8 ./configure --prefix=/usr/local/libmcrypt make sudo make install |
libmhash: http://sourceforge.net/projects/mhash 下载: mhash-0.9.9.9.tar.gz 解压安装
1 2 3 4 5 | tar -zxf mhash-0.9.9.9.tar.gz -C ~/sources cd ~/sources/mhash-0.9.9.9 ./configure --prefix=/usr/local/libmhash make sudo make install |
现在相关的准备工作已经做的差不多了. 可以安装PHP了. 到 http://www.php.net 下载目前最新的 php-5.2.9.tar.gz 包. 解压安装. 安装 php 编译过程比较漫长. 中途可以放心去做饭烧菜. 反正在我这个老电脑上是运行了不少时间. ^o^
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | tar -zxf php-5.2.9.tar.gz -C ~/sources cd ~/sources/php-5.2.9 ./configure \ --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache2/bin/apxs \ --enable-fastcgi \ --enable-force-cgi-redirect \ --with-config-file-path=/usr/local/php \ --with-openssl \ --with-zlib \ --with-zlib-dir=/usr/local/zlib \ --enable-bcmath \ --enable-calendar \ --with-curl=/usr/local/curl \ --with-curlwrappers \ --enable-ftp \ --with-gd \ --with-jpeg-dir=/usr/local/jpeg \ --with-png-dir=/usr/local \ --with-freetype-dir=/usr/local/freetype2 \ --enable-gd-native-ttf \ --with-gettext \ --with-mcrypt=/usr/local/libmcrypt \ --with-mhash=/usr/local/libmhash \ --enable-mbstring \ --enable-exif \ --with-mysql=/usr/local/mysql \ --with-pdo-mysql=/usr/local/mysql \ --with-mysqli=/usr/local/mysql/bin/mysql_config \ --with-xmlrpc \ --enable-soap \ --enable-sockets \ --enable-zip make sudo make install |
上面的 configure 参数不要直接COPY张贴到终端, 由于 WIN下的换行和linux的不一样. 其实只运行了 ./configure 这一句而已. 下面给出一行的configure 语句, COPY下面的即可执行 configure 操作了. 上面是方便查看PHP的编译环境设置而已.
1 | ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --enable-fastcgi --enable-force-cgi-redirect --with-config-file-path=/usr/local/php --with-openssl --with-zlib --with-zlib-dir=/usr/local/zlib --enable-bcmath --enable-calendar --with-curl=/usr/local/curl --with-curlwrappers --enable-ftp --with-gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local --with-freetype-dir=/usr/local/freetype2 --enable-gd-native-ttf --with-gettext --with-mcrypt=/usr/local/libmcrypt --with-mhash=/usr/local/libmhash --enable-mbstring --enable-exif --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-xmlrpc --enable-soap --enable-sockets --enable-zip |
OK, PHP编译安装完成. COPY php.ini 文件到 /usr/local/php/php.ini 然后稍微修改一下. 把 PHP 错误显示模式打开. 设置: display_errors = On 然后保存退出.
1 2 | sudo cp php.ini-recommended /usr/local/php/php.ini sudo gedit /usr/local/php/php.ini |
接下来我们测试一下PHP是否安装成功. 是否能和 Apache 正常的配合运行. 修改一下 apache 的配置文件, 使之支持解析PHP
PHP 如果安装成功顺利的话, 默认的在 httpd.conf 的 loadModule 那里已经添加好了 一行:
loadModule php5_mod modules/libphp5.so
我们只要在这行下面添加些信息即可让apache支持php脚本. 添加下面信息.
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
然后在修改一下DirectoryIndex. 找到: DirectoryIndex index.html 后面添加变下面这样, 保存退出!
DirectoryIndex index.html index.htm index.php
接下来在 /usr/local/apache2/htdocs 下建立一个测试文件, phpinfo.php 输入内容 <?php phpinfo(); ?> 重启 Apache 服务.
1 | sudo /etc/init.d/apache.server restart |
现在打开浏览器, 在地址栏里输入: http://localhost/phpinfo.php 看看 php 是否已经正常安装好. 服务器的配置信息也全部显示出来了.
OK, 真要去做饭了. 这篇就先介绍到这里. 后面我们再介绍一下给现在的系统添加些扩展. 比如 memcache 之类的扩展. 下篇再说吧.