Linux下apache安装php
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