安装PHP

所有的Linux发行版都有php, 你可以很简单的从软件仓库安装. 但是作者还是非常建议你下载最新的PHP源代码, 然后手动编译和安装. 为什么呢? 因为这样可以很好的升级PHP版本以及打各种补丁. 这一篇介绍了如何在Linux上从源码安装PHP.

前提需要

作者在这里要求事先装好Apache2和MySQL, 但是我觉着这里没啥必要, 你也可以装Nginx啊, 也可以不需要MySQL啊, 所以你只要有一个可以运行PHP的容器即可.

即使没有容器, 也可以从命令行中运行PHP脚本.

下载安装PHP

PHP官网下载最新的PHP版本.

(作者在这里举的例子是5.2.6, 现在早已超过这个版本了, 不过我现在在图书馆, 没网… 只能贴作者的代码)

  1. # bzip2 -d php-5.2.6.tar.bz2
  2. # tar xvf php-5.2.6.tar

(两种不同的解压方式, 依据你下载的格式采用不同的姿势.)

可以通过./configure —help来查看所有的配置选项, 最常用的选项是—prefix={install-dir-name}, 从名字就可以看出, 这是用来确定安装目录的, 缺省选项是/usr/local/lib目录.

  1. # cd php-5.2.6
  2. # ./configure --help

开始编译:

  1. # ./configure --with-apxs2=/usr/local/apache2/bin/apxsv --with-mysql
  2. # make
  3. # make install
  4. # cp php.ini-dist /usr/local/lib/php.ini

配置httpd.conf文件

/usr/local/apache2/conf/httpd.conf文件中添加如下几行:

  1. <FilesMatch "\.ph(p[2-6]?|tml)$">
  2. SetHandler application/x-httpd-php
  3. </FilesMatch>

然后确认LoadModule php5_module modules/libphp5.so这一行代码在PHP安装的过程中添加到了httpd.conf文件中.

确认安装成功

重启Apache2:

  1. # /usr/local/bin/apache2/apachectl restart

然后在/usr/local/apache2/htdocs目录下添加一个文件:

  1. # echo '<?php phpinfo(); ?>' >> /usr/local/apache2/htdocs/test.php

如果打开浏览器, 查看http://local-host/test.php, 出现了phpinfo的相关内容, 那么就是配置好了.

安装过程中可能会遇到的错误:

Error 1 : configure: error: xml2-config not found:

如果再安装过程中遇到了一下错误:

  1. # ./configure --with-apxs2=/usr/local/apache2/bin/apxs
  2. --with-mysql
  3. Configuring extensions
  4. checking whether to enable LIBXML support... yes
  5. checking libxml2 install dir... no
  6. checking for xml2-config path...
  7. configure: error: xml2-config not found. Please check your
  8. libxml2 installation.

那么就需要你安装libxml2-develzlib-devel库:

  1. # rpm -ivh /home/downloads/linux-iso/libxml2-devel-2.6.26-
  2. 2.1.2.0.1.i386.rpm /home/downloads/linux-iso/zlib-devel-
  3. 1.2.3-3.i386.rpm
  4. Preparing...##################################### [100%]
  5. 1:zlib-devel##################################### [ 50%]
  6. 2:libxml2-devel################################## [100%]

下载这些库并且安装上就好了.

Error 2 : configure: error: Cannot find MySQL header files.

如果你遇到了以下的错误:

  1. # ./configure --with-apxs2=/usr/local/apache2/bin/apxs
  2. --with-mysql
  3. checking for MySQL UNIX socket location...
  4. /var/lib/mysql/mysql.sock
  5. configure: error: Cannot find MySQL header files under
  6. yes. Note that the MySQL client library is not bundled
  7. anymore!

则说明你没有安装MySQL, 安上就好了:

  1. # rpm -ivh /home/downloads/MySQL-devel-community-5.1.25-
  2. 0.rhel5.i386.rpm
  3. Preparing...###################################### [100%]
  4. 1:MySQL-devel-community########################### [100%]