在搭建LAMP之前安装PHP
1.首先在PHP官网下载安装包
wget http://am1.php.net/distributions/php-5.3.27.tar.gz
2.进入usr/local/src/ (自行下载的安装包建议都放在该目录下,便于管理)
cd //usr/local/src/
3.解压安装包,如:
tar zxf php-5.3.27.tar.gz
4.进入php-5.3.27目录下进行编译
cd php-5.3.27
5. ./configure 编译 (普通编译,当需要编译另一些模块,可进行第二次编译,第二次编译这里不再解释)
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
6.可能编译过程中会出现很多问题,原因是包的依耐性导致,可通过告警码查看,然后用Yum工具都能解决一系列问题。
如出现这种情况
configure: error: xml2-config not found. Please check your libxml2 installation.
那么解决的方法就是你要安装libxm12这个包了
yum install -y libxm12-devel
这里不做过多解释。如需了解可去问下度娘
7.但是有一点就是出现的问题中,你通过yum工具都下载不到那可怎么办,
那就要通过epel了,也就是扩展源了。可以这么解决。
rpm -ivh "http://www.aminglinux.com/bbs/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm"先下载源地址 yum install -y libmcrypt-devel (如这个包在默认源没有)
因为centos6.x 默认的yum源没有libmcrypt-devel 这个包,只能借助第三方yum源。
8.make&make install
9.每部操作结果都可通过echo $?查看是否成功。(返回值是0表示上一执行结果成功)
10.在下载的5.3.27目录下有这个文件(配置文件)
php.ini-production
12.复制文件到/usr/local/php/etc/php.ini ,并改名成php.ini
cp /usr/local/src/5.3.27/php.ini-production /usr/local/php/etc/php.ini
13.安装成功后,然后要怎样能在apache下能识别php文件,并能php解析成功呢。
14.编辑apache的住配置文件/usr/local/apache2/conf/httpd.conf
vim /usr/local/apache2/conf/httpd.conf
1.找到 /<Directory/>
需要把最后一个语句deny from all
改成allow from all
:wq
修改这里的原因是:访问网站时,就不会禁止出现403.
2.然后继续,
找到AddType application/x-gzip.gz.tgz
在下一行复制一行修改成
AddType application/x-httpd-php.php
加上php的型号。
3.在找到
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
15.还有一个问题就是,
每次在开启apache的时候出现了一个问题,
/usr/local/apache2/bin/apachectl -t 查看是否正常
/usr/local/apache2/bin/apachectl graceful/start/restart/stop
找到:
#ServerName www.example.com:80
比如修改为:
ServerName localhost:80
16.测试
查看是否启动:
[[email protected] ~]# netstat -lnp |grep httpd tcp 0 0 :::80 :::* LISTEN 7667/httpd
如果有显示这行,则启动了。 也可以使用curl命令简单测试:
[[email protected] ~]# curl localhost <html><body><h1>It works!</h1></body></html>
只有显示这样才正确。
测试是否正确解析php:
vim /usr/local/apache2/htdocs/1.php
写入:
<?php echo "php解析正常"; ?>
保存后,继续测试:
curl localhost/1.php
看是否能看到如下信息:
[[email protected] ~]# curl localhost/1.php php解析正常[[email protected] ~]#