Linux下安装、配置PHP环境
Linux下安装、启动MySQL :http://blog.csdn.net/wy3552128/article/details/8143686
Linux下安装、配置、启动Apache:http://blog.csdn.net/wy3552128/article/details/8143875
Mysql和Apache已经安装成功,接下来我们来安装、配置PHP环境,编译PHP5的时候貌似比较复杂,出现了很多问题,都记录在这里吧。
平台:VMware上虚拟的centos4.7
宿主机:windows
安装PHP前准备:
1、检查php是否已经安装,使用php -v,是否能够看到版本号;或者使用rpm -qa | grep php查看是否安装过。
2、下载PHP安装包,下载地址:http://www.php.net/downloads.php 我下载的是php-5.3.18.tar.gz,放在Linux的任意目录下,只在编译时指定安装到的目录。
tar -zxvf php-5.3.18.tar.gz
cd php-5.3.18
不过在接下来的configure编译过程中,遇到了一些比较繁琐的问题:
1、提示错误信息:configure: error: Cannot find MySQL header files under /var/lib/mysql/
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/var/lib/mysql/
解决:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql
2、提示错误信息:configure: error: Cannot find MySQL header files under yes
解决:此问题主要是由于上面的configure参数中没有指定--with-mysql路径。
通过find / -name mysql.h查看是否存在这个文件所在路径,如果不存在,则要安装MySQL-devel-4.1.12-1.i386.rpm(必须要安装的)。
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql-dir=/usr/include/mysql/mysql.h
3、提示错误信息:configure: error: Try adding --with-zlib-dir=<DIR>. Please check config.log for more information.
解决:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql-dir=/usr/include/mysql/mysql.h --with-zlib-dir=/usr/lib
编译PHP完整的configure参数(请注意apache的路径):
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql-dir=/usr/include/mysql/mysql.h --with-zlib-dir=/usr/lib make make install
把配置php.ini,只需要把php-5.3.18安装包中的php.ini-production拷贝到/usr/local/php/lib/下即可。
[root@localhost php-5.3.18]#cp php.ini-production /usr/local/lib/php.ini
(一定要命名为php.ini,放在/usr/local/lib/路径下;在编译时可以指定php.ini的存放位置,也可以在Apache里指定其位置;如果位置错误,php扩展就不发加载,phpinfo()测试页中看不到扩展信息)
-----------------------------------------------还算可以的分割线----------------------------------------------------------------
配置Apache中的PHP环境
需要修改Apache的配置文件httpd.conf以得到PHP的解析:
1、在LoadModule中添加:LoadModule php5_module modules/libphp5.so
2、在AddType application/x-gzip .gz .tgz下面添加:
# probably should define those extensions to indicate media types: # AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
3、在DirectoryIndex增加 index.php,以便Apache识别PHP格式的index
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
最后一步验证PHP环境:
在Apache网站目录下新建php的phpinfo测试页,/usr/local/apache/htdocs/info.php
[root@localhost htdocs]# vi info.php <?php phpinfo(); ?>
通过http://192.168.200.102/info.php 验证,通过phpinfo()可以查看很多信息,比如php.ini的存放路径,以及所有扩展组件等,很强大。