安装PHP

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

前提需要

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

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

下载安装PHP

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

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

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

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

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

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

开始编译:

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

配置httpd.conf文件

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

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

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

确认安装成功

重启Apache2:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

results matching ""

    No results matching ""