微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS5.5下如何搭建PHP环境

这篇“CentOS5.5下如何搭建PHP环境”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CentOS5.5下如何搭建PHP环境”文章吧。

1、准备工作

一、请先确认你所安装的 linux 系统中是否已经安装了apache、mysqlPHP,如果安装请先卸载。

查看是否安装(apache为例)

[root@gamejzy linux]# rpm -qa|grep httpd

注:rpm -qa 是查看本机中已经安装的所有软件。 grep httpd 是过滤出与 httpd(apache) 有关的软件。注:grep PHP 是查看 PHP;grep MysqL 是查看 MysqL

如果执行完命令后出现空,那么说明机器中没有安装 apache 软件,如果出现诸如下情况说明已经安装。

CentOS5.5下如何搭建PHP环境

如果如上图所示的那样,那么就需要把这三个软件都卸载了。

卸载命令如下:

[root@gamejzy linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps

注:--nodeps 是强制卸载

二、请保证你的 linux 系统中安装了 gcc、g++ 编译器

检查是否安装很简单,在命令行中敲入“gc”或“g+”,按 tab 键,看下面是否有命令显示

如果没有也没关系,安装 gcc、g++ 的方法十分简单

安装gcc:

yum -y install gcc

安装g++:

yum install gcc-c++

三、将所有的软件(大部分都是 tar 包)包拷贝到 /tmp/lamp 底下,并解压

解压 tar.gz 命令(PHP软件为例):tar zxvf PHP-5.2.6.tar.gz 

当执行完此命令后,会在当前目录下创建一个 PHP-5.2.6 的文件夹,解压的所有文件会放置在 PHP-5.2.6 文件夹中

请按照同样的方法将所有的包都解压,并且删除所有的 *.tar.gz 文件

[root@gamejzy lamp]# rm -rf *.gz

以上命令删除所有的 .gz 文件

四、编译安装软件包介绍

在 linux 系统安装每个源代码软件包的过程如下:
△ 配置(configure)
△ 编译(make)
△ 安装(make install)

2、搭建 lamp 环境(请按照下面给出的顺序进行安装)

这里所有的软件都安装在 /usr/local 下
一、安装libxml

安装顺序:1、进入 libxml 目录;2、配置参数(包括安装路径;依赖软件;安装功能等);3、编译;4、安装。注:所有软件包安装类似

[root@gamejzy lamp]# cd libxml2-2.6.30/ 
[root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2

./configure 为软件包配置参数命令,--prefix 表示指定的安装目录,大部分目录若不在会自动创建,个别不会,需要我们手动创建

[root@gamejzy libxml2-2.6.30]# make && make install

以上命令是将编译和安装在一起执行,由于软件小,安装速度比较快,若大的软件,可能会花比较长的时间。

二、安装libmcrypt

[root@gamejzy lamp]# cd libmcrypt-2.5.8/ 
[root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt 
[root@gamejzy libmcrypt-2.5.8]# make && make install

三、安装zlib

[root@gamejzy lamp]# cd zlib-1.2.3/ 
[root@gamejzy zlib-1.2.3]# ./configure 
[root@gamejzy zlib-1.2.3]# make && make install

./configure 后面不要跟 --prefix 参数,让其安装在认目录中,因为安装 libpng 的时候会用到 zlib。
四、安装libpng

[root@gamejzy lamp]# cd libpng-1.2.31/ 
[root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng 
[root@gamejzy libpng-1.2.31]# make && make install

五、安装jpeg6

这个软件配置的时候不会自动创建目录,需要我们手动创建

[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib 
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include 
[root@gamejzy libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1

生成目录完毕!

[root@gamejzy lamp]# cd jpeg-6b/ 
[root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static 
[root@gamejzy jpeg-6b]# make && make install

./configure 中参数说明:
--enable-shared  建立共享库使用的gnu的libtool
--enable-static   建立静态库使用的gnu的libtool

六、安装freetype

[root@gamejzy lamp]# cd freetype-2.3.5/ 
[root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype 
[root@gamejzy freetype-2.3.5]# make && make install

七、安装autoconf

[root@gamejzy lamp]# cd autoconf-2.61/ 
[root@gamejzy autoconf-2.61]# ./configure 
[root@gamejzy autoconf-2.61]# make && make install

这个软件直接安装在认目录下。

八、安装gd

[root@gamejzy lamp]# cd gd-2.0.35/ 
[root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ 
[root@gamejzy gd-2.0.35]# make && make install

./configure 中参数说明:
--with-jpeg=/usr/local/jpeg6/ 指定到哪去找jpeg库文件的位置
--with-png=/usr/local/libpng/ 指定到哪去找png库文件的位置
--with-freetype=/usr/local/freetype/ 指定到哪去找freetype 2.x字体库的位置

注意 安装此软件包可能会出现以下错误,如下图所示:

CentOS5.5下如何搭建PHP环境

如果出现如此错误解决方法

[root@gamejzy gd-2.0.35]# vi gd_png.c

找到关键词"png.h" 命令:/png.h 回车

替换为:/usr/local/libpng/include/png.h

效果如下图所示:

CentOS5.5下如何搭建PHP环境

保存退出,继续执行"make && make install" 执行即可安装成功。

九、安装apache(关键)

[root@gamejzy lamp]# cd httpd-2.2.9/ 
[root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support 
[root@gamejzy httpd-2.2.9]# make && make install

./configure 中的参数说明:
--sysconfdir=/etc/httpd 指定apache服务器配置文件(httpd.conf等文件)存放位置
--with-included-apr 使用捆绑apr/apr-util的副本
--enable-so 以动态共享对象(dso)编译
--enable-deflate=shared 缩小传输编码的支持
--enable-expires=shared 期满头控制
--enable-rewrite=shared 基于规则的url操控
--enable-static-support 建立一个静态链接版本的支持

测试 apache 服务器

1、检查 /usr/local/ 下是否出现 apache2 目录;

2、检查 /etc/ 目录下面是否出现 httpd 目录,即里面是否有 httpd.conf 文件、extra目录等内容

3、开启 apache 服务器

[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start

stop(关闭)、restart(重启)

4、查看 apache 服务器是否启动,即查看 80 端口是否启动

[root@gamejzy httpd]# netstat -tnl|grep 80

执行完命令,出现如下所示,表示已经启动
tcp        0      0 :::80                       :::*                        listen

5、在浏览器中访问
如果在本机的话,请在浏览器地址栏中输入: 或

如果是远程连接的话,比如:ssh连接,那么请在浏览器地址栏中输入 linux 的 ip 地址。比如:

若网页中出现大字“
it works!
”说明 apache 安装成功。
测试完毕!

添加 apache 每次开机自动启动

[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local

十、安装MysqL(重要)

安装 MysqL 之前先建立一个专门管理 MysqL 的组和用户名

建立一个组名叫“MysqL

[root@gamejzy /]# groupadd MysqL

建立一个用户名叫“MysqL”,让他属于“MysqL”组

[root@gamejzy /]# useradd -g MysqL MysqL
[root@gamejzy lamp]# cd MysqL-5.0.41/ 
[root@gamejzy MysqL-5.0.41]# ./configure --prefix=/usr/local/MysqL --with-extra-charsets=all 
[root@gamejzy MysqL-5.0.41]# make && make install

./configure 参数说明:
--with-extra-charsets=all 安装MysqL 所有的字符集
注意 在 ./configure 的时候如果出现如下错误

CentOS5.5下如何搭建PHP环境

原因:缺少ncurses安装包。

解决方法:下载安装相应软件包

yum list|grep ncurses 
yum -y install ncurses-devel

ncurses安装完成之后,再进行 ./configure 配置!

MysqL安装完成之后,设置一些内容,这些内容非常繁琐,但是又非常关键的,希望大家耐心学习。

1、设置配置文件 my.cnf,放在 /etc/ 目录下

[root@gamejzy MysqL-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf

2、初始化数据库文件,安装完 MysqL 之后,并不会出现 MysqL 的数据文件及数据存放位置

首先切换到 MysqL 的安装目录下

[root@gamejzy MysqL-5.0.41]# cd /usr/local/MysqL/

使用 bin 目录下的 MysqL_install_db 进行初始化数据库文件,并使用上面建的 MysqL 用户

[root@gamejzy MysqL]# bin/MysqL_install_db --user=MysqL

运行完之后,会发现 MysqL 安装目录中会多一个 var 目录,里面放置的就是数据库文件包括我们已经建的数据库都会放置在这个目录里面。

3、设置 MysqL 安装目录权限

改变目录下的所有文件和目录的拥有者为 root

[root@gamejzy MysqL]# chown -r root .

改变 var 目录的拥有者为 MysqL 用户

[root@gamejzy MysqL]# chown -r MysqL ./var/

改变所有目录和文件用户组为 MysqL

[root@gamejzy MysqL]# chgrp -r MysqL .

4、启动 MysqL

[root@gamejzy MysqL]# /usr/local/MysqL/bin/MysqLd_safe --user=MysqL &

& 表示在后台启动
这时,使用 netstat -tnl,如果看见 3306 端口,那么说明启动成功
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   listen

5、设置权限,如果我们现在直接使用 bin 目录下的 MysqL 命令,那么就能登录

[root@gamejzy MysqL]# bin/MysqL

这样就太危险了!因此需要设置权限。

登录MysqL 中,使用 sql 命令删除主机不是“localhost” 的用户名MysqL 中的用户MysqL库中的user表),只留允许本机登录的账号。

MysqL> delete from MysqL.user where host != 'localhost';

刷新授权表

MysqL> flush privileges;

设置允许本机进入 MysqL 的 root 用户密码

MysqL> set password for 'root'@'localhost'=password('123456');

注:设置的密码必须记住,不然就进不去 MysqL 数据库了。

到这步的时候,我们的 root 用户,就已经设置了密码密码为“123456”),我们可以测试一下,键入“exit”退出MysqL

这时登录 MysqL 数据库的命令不能是 bin/MysqL 那么简单,应该如下:

[root@gamejzy MysqL]# bin/MysqL -h 127.0.0.1 -u root -p123456

-h 指定主机名
-u 用户名
-p 密码

6、关闭 MysqL 数据库服务器

[root@gamejzy MysqL]# bin/MysqLadmin -u root -p shutdown

这里的是 root 用户MysqL 中的用户,执行后会提示你输入密码,enter password:

输入密码,回车即可关闭数据库

启动命令,请看本节4

7、加入到开机认启动

[root@gamejzy MysqL]# echo "/usr/local/MysqL/bin/MysqLd_safe --user=MysqL &" >> /etc/rc.d/rc.local

十一、安装PHP(重要)

这里我们安装 PHP 的高版本 PHP-5.3.19,安装参数比较多,请一定注意。

[root@gamejzy lamp]# cd PHP-5.3.19/ 
[root@gamejzy PHP-5.3.19]# ./configure \ 
> --prefix=/usr/local/PHP \ 
> --with-config-file-path=/usr/local/PHP/etc \ 
> --with-apxs2=/usr/local/apache2/bin/apxs \ 
> --with-MysqL=/usr/local/MysqL/ \ 
> --with-libxml-dir=/usr/local/libxml2/ \ 
> --with-png-dir=/usr/local/libpng/ \ 
> --with-jpeg-dir=/usr/local/jpeg6/ \ 
> --with-freetype-dir=/usr/local/freetype/ \ 
> --with-gd=/usr/local/gd2/ \ 
> --with-mcrypt=/usr/local/libmcrypt/ \ 
> --with-MysqLi=/usr/local/MysqL/bin/MysqL_config \ 
> --enable-soap \ 
> --enable-mbstring=all \ 
> --enable-sockets

./configure 参数说明:
--with-config-file-path=/usr/local/PHP/etc 指定PHP5配置文件存入的路径
--with-apxs2=/usr/local/apache2/bin/apxs 告诉PHP查找apache 2的地方
--with-MysqL=/usr/local/MysqL/ 指定MysqL的安装目录
--with-libxml-dir=/usr/local/libxml2/ 告诉PHP放置libxml2库的地方
--with-png-dir=/usr/local/libpng/ 告诉PHP放置libpng库的地方
--with-jpeg-dir=/usr/local/jpeg6/ 告诉PHP放置jpeg库的地方
--with-freetype-dir=/usr/local/freetype/ 告诉PHP放置freetype库的地方
--with-gd=/usr/local/gd2/ 告诉PHP放置gd库的地方
--with-mcrypt=/usr/local/libmcrypt/ 告诉PHP放置libmcrypt库的地方
--with-MysqLi=/usr/local/MysqL/bin/MysqL_config 变量激活新增加MysqLi功能
--enable-soap 变量激活soap和web services支持
--enable-mbstring=all 使多字节字符串支持
--enable-sockets 变量激活socket通讯特性

编译可能出现的问题:

出现如下报错:

CentOS5.5下如何搭建PHP环境

解决方法

cd /usr/local/MysqL/lib/MysqL/ 
ln -s libMysqLclient.so.15.0.0 libMysqLclient_r.so

编译ok后,出现“thank you for using PHP.”,说明配置成功。

[root@gamejzy PHP-5.3.19]# make && make install

编译和安装,时间会比较长,耐心等待吧!

编译完成后,需要以下配置

1、设置 PHP.ini 配置文件

[root@gamejzy PHP-5.3.19]# cp PHP.ini-development /usr/local/PHP/etc/PHP.ini

注:/usr/local/PHP/etc 是在配置的时候指定的位置
2、和 apache 整合

先打开 apache 的配置文件 httpd.conf

[root@gamejzy PHP-5.3.19]# vi /etc/httpd/httpd.conf

会发现文件中有这么条内容

loadmodule PHP5_module  modules/libPHP5.so

这就说明 PHP 已经加载到 apache 服务器中了,我们所要做的是告诉 apache 服务器,哪些后缀名使用 PHP 解析

在 vi 编辑器中搜索“addtype application/x-compress .z”

在后面添加一条:addtype application/x-httpd-PHP .PHP
修改后的效果如下图

CentOS5.5下如何搭建PHP环境

保存并退出,重启 apache

[root@gamejzy PHP-5.3.19]# /usr/local/apache2/bin/apachectl stop 
[root@gamejzy PHP-5.3.19]# /usr/local/apache2/bin/apachectl start

3、测试 apache 服务器是否可以解析 PHP

往 /usr/local/apache2/htdocs 目录下添加一个PHPinfo.PHP 文件,键入以下代码

<?PHP 
header("content-type:text/html;charset=utf-8"); 
PHPinfo(); 
?>

打开浏览器,访问该文件,看到如下图所示,说明 PHP 安装成功,并且和 apache 服务器整合成功。

CentOS5.5下如何搭建PHP环境

以上就是关于“CentOS5.5下如何搭建PHP环境”这篇文章内容,相信大家都有了一定的了解,希望小编分享内容对大家有帮助,若想了解更多相关的知识内容,请关注编程之家行业资讯频道。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐