php
1.下载解压
cd /usr/local/src
wget http://mirrors.sohu.com/php/php-5.6.9.tar.gz
tar zxvf php-5.6.9.tar.gz
cd php-5.6.9
2.编译安装
./configure --with-apr=/usr/local/apr --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-mcrypt --with-openssl --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
编译来至(全)http://blog.csdn.net/godmatrix/article/details/5969558
./configure \
配置,安装
--with-apr=/usr/local/apr \
指定apr代码的目录
--prefix=/usr/local/php \
指定php安装目录.
--with-apxs2=/usr/local/apache2/bin/apxs \
让Apache服务器能够支持PHP。整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块
--with-config-file-path=/usr/local/php/etc \
指定php.ini配置文件的位置
--with-mysql=/usr/local/mysql \
MySQL安装的目录,对mysql的支持
--with-libxml-dir \
打开对libxml2库的支持
--with-gd \
打开对gd库的支持
--with-jpeg-dir \
--with-png-dir \
打开对jpeg图片和png图片的支持
--with-freetype-dir \
打开对freetype字体库的支持
--with-iconv-dir \
打开对iconv函数库,种字符集间的转换
--with-zlib-dir \
打开对zlib库的支持
--with-bz2 \
打开对bz2文件的支持
--with-openssl \
打开openssl的支持,加密传输时用到的
--with-mcrypt \
算法,mhash和mcrypt都是算法的扩展
--enable-soap \
打开soap的支持
--enable-gd-native-ttf \
支持True Type 字符串 函数库
--enable-mbstring \
多字节,字符串的支持
--enable-sockets \
打开sockets支持
--enable-exif \
图片的元数据支持
--disable-ipv6
不支持ipv6
错误1
configure: error: xml2-config not found. Please check your libxml2 installation.
配置:错误:xml2-config不见了。请检查你的libxml2安装。
解决:
yum install libxml2 libxml2-devel -y
错误2
configure: error: Cannot find OpenSSL’s <evp.h>
配置:错误:找不到OpenSSL的< evp.h >
解决:
yum install openssl openssl-devel -y
错误3
Configure: error: Please reinstall the BZip2 distribution
配置:错误:请重新安装BZip2分布
解决:
yum install bzip2 bzip2-devel -y
错误4
configure: error: jpeglib.h not found.
配置:错误:jpeglib。没有找到。
解决:
yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y
错误5
Configure: error: mcrypt.h not found. Please reinstall libmcrypt.
配置:错误:mcrypt。没有找到。请重新安装libmcrypt。
解决:
安装epel-release源
yum install epel-release -y
yum install libmcrypt-devel -y
最后执行
make
make install
3.拷贝PHP主配置文件
cp php.ini-production /usr/local/etc/php.ini
4.修改apache的配置文件,使apache支持解析php
vim /usr/local/apache2/conf/httpd.conf
1.找到
#ServerName www.example.com:80
改为
ServerName www.example.com:80
2.找到
<Directory /> AllowOverride none Require all denied </Directory>
改为
<Directory /> Options FollowSymLinks AllowOverride none Order deny,allow Allow from all </Directory>
3.找到
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改为
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
4.找到
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
改为
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
注:
1.ServerName www.example.com:80 打开服务器占用80端口
2.Allow from all 允许访问web内容目录
3.DirectoryIndex index.html index.php 目录索引支持php
4. AddType application/x-httpd-php .php 应用类型支持php
5.检查配置文件是否错误
/usr/local/apache2/bin/apachectl -t
6.启动apache服务
/usr/local/apache2/bin/apachectl start
7.查看进程
ps aux |grep httpd
8.关闭防火墙。
永久关闭SElinux,重启生效。
vim /etc/selinux/config
找到
SELINUX=enforcing
改为
SELINUX=disabled
临时关闭
setenforce 0
getenforce 查看当前SElinux防火墙状态
setenforce 0 是临时关闭
setenforce 1 是临时打开
# enforcing - SELinux security policy is enforced.打开
# permissive - SELinux prints warnings instead of enforcing.打开不拦截
# disabled - No SELinux policy is loaded.关闭,默认
9.清空iptables规则
iptables -F
service iptables save
10.浏览器访问IP
是否显示 it works!显示说明成功。
11.测试解析php
cd /usr/local/apache2/htdocs
php主配置文件vim /usr/local/apache2/conf/httpd.conf指定的文档根目录的路径DocumentRoot"/usr/local/apache2/htdocs"
touch 1.txt
echo 'qqqqq' >> 1.txt
http://192.168.1.116/1.txt
vim 2.php
<?php
phpinfo();
?>
http://192.168.1.116/2.php
保存镜像4.备注php安装ok
php安装成功
如果Loaded Configuration File等于none;
先确定Configuration File (php.ini) Path的地址,此处为/usr/local/php/etc;
#find /usr -name 'php.ini'
#cp 查找到的php.ini路径 /usr/local/php/etc
vim /usr/local/apache2/conf/httpd.conf
在apache配置文件中增加
PHPIniDir “The path to your php.ini”,
比如:PHPIniDir "/usr/local/php/etc/php.ini"
确保PHPIniDir在loadModule php5_module之前
重启apache
/usr/local/apache2/bin/apachectl restart
php安装包:链接:http://pan.baidu.com/s/1nvbrFJF 密码:sy20