我没上网女孩说以后不要买东西西,为什么快递公司说我有邮件在

apache集成php5.6方法分享
投稿:hebedich
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了apache集成php5.6方法分享,需要的朋友可以参考下
apache对php的支持是通过apache的mod_php5模块来支持的,这点与nginx不同。nginx是通过第三方的fastcgi处理器才可以对php进行解析。
如果源码编译安装php的话,需要在编译时指定--with-apxs2=/usr/local/apache2/bin/apxs表示告诉编译器通过apache的mod_php5模块来提供对php的解析。
同时php安装的最后一步make install时,我们会看到将动态链接库libphp5.so拷贝到apache2的安装目录的modules目录下,并且还需要在httpd.conf配置文件中添加LoadModule语句来动态将libphp5.so模块加载进来,从而实现Apache对php的支持。
php与apache集成需要以下几个步骤:
1、安装libiconv库
2、php源码安装
3、配置apache使其支持php
4、测试php
一、安装libiconv库
libiconv库为需要做转换的应用程序提供了一个iconv命令,以实现一个字符编码到另一个字符编码的转换,比如它可以将UTF8编码转换成GB18030编码,反过来也行。
php与apache集成时一定要安装libiconv库,否则在make时系统会报错。报错信息如下:
make: *** [sapi/cli/php] Error 1
/usr/bin/ld: cannot find -liconv
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
现在开始正式安装libiconv库,首先下载libiconv库,如下:
解压libiconv库,如下:
tar -xf libiconv-1.14.tar.gz
安装libiconv库,首先查看安装帮助信息。如下:
./configure --help
通过上图的帮助,我们可以看到libiconv库默认的安装路径为/usr/local。现在开始安装libiconv库,如下:
./configure --prefix=/usr/local
make && make install
libiconv库安装完毕后,建议把/usr/local/lib库加入到到/etc/ld.so.conf文件中,然后使用/sbin/ldconfig使其生效。如下:
echo "/usr/local/lib"&&/etc/ld.so.conf
/sbin/ldconfig
如果没有进行此步操作的话,在安装php执行make install,系统就会报错。报错信息如下:
/root/php-5.6.2/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
二、php源码安装
下载并编译php命令如下:
./configure --enable-fpm --enable-mbstring --with-mysql=/usr/local/mysql --with-iconv-dir=/usr/local --with-apxs2=/usr/local/apache2/bin/apxs
注意上述命令中--enable-fpm的作用是开启php的fastcgi功能,即开启php-fpm功能。
--with-mysql=/usr/local/mysql是启用php支持mysql的功能,/usr/local/mysql是mysql数据库的安装路径。
--enable-mbstring表示启用mbstring模块mbstring模块的主要作用在于检测和转换编码,提供对应的多字节操作的字符串函数。目前php内部的编码只支持ISO-8859-*、EUC-JP、UTF-8,其他的编码的语言是没办法在php程序上正确显示的,所以我们要启用mbstring模块。
--with-iconv-dir=/usr/local指定php存放libiconv库的位置。
--with-apxs2=/usr/local/apache2/bin/apxs指定php查找apache的位置。
编译完毕后,我们再来make。在make时,我们注意要加上-liconv参数。如果不加上-liconv参数,系统在make编译会报错。报错信息如下:
Generating phar.php
php-5.3.16/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
使用命令如下:
make ZEND_EXTRA_LIBS='-liconv'
我们也可以通过修改Makefile文件,在ZEND_EXTRA_LIBS行加入-liconv。如下:
vi Makefile
make install
通过上图,我们可以很明显的看到apache配置文件httpd中启用php支持,同时也把libphp5.so文件复制到apache的模块目录下。
三、配置apache使其支持php
php安装完毕后,我们就可以通过修改apache的配置文件httpd.conf来使其支持php。
我们只需要在httpd.conf文件中加入如下两行代码:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
注意,其中LoadModule php5_module modules/libphp5.so行,我们查看httpd.conf文件时会发现该行已经存在。那是因为在安装php时,添加的。现在我们只需要添加AddType application/x-httpd-php .php行即可。
vi /usr/local/apache2/conf/httpd.conf
除此之外,我们还需要修改apache的默认主页文件,添加index.php。内容如下:
echo "&?php phpinfo();?&"&/usr/local/apache2/htdocs/index.php
cat /usr/local/apache2/htdocs/index.php
四、测试php
以上修改完毕后,我们重新启动apache,使用如下命令:
/etc/init.d/httpd graceful
注意该命令可以优雅的重启apache。
打开站点,如下:
通过上图,我们可以很明显的看到apache已经支持php。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具本文由秀依林枫提供友情赞助,首发于烂泥行天下。 LNMP环境的搭建中,现在只有php没有源码安装过。这篇文章就把这个介绍下。 注意本篇文章使用的centos 6.5 64bit。 登陆centos下载php5.6的安装包。php的软件包可以去国内的souhu镜像站点去下载。 wget /php/php-5.6.2.tar.gz
在安装之前,我们需要安装php5.6编译时所依赖的软件包。如下: yum -y install gcc gcc-c++ libxml2 libxml2-devel
以上软件包安装完毕后,我们现在来解压刚刚下载的php5.6源码包。使用如下命令: tar -xf php-5.6.2.tar.gz
进入php5.6的解压目录,现在开始配置php5.6,使用如下命令: cd php-5.6.2 ./configure --enable-fpm --enable-mbstring --with-mysql=/usr/local/mysql
如果没有错误的情况下,配置完毕后。系统会出现如下的提示信息:
注意上述命令中--enable-fpm的作用是开启php的fastcgi功能即开启php-fpm功能,--with-mysql=/usr/local/mysql是启用php支持mysql的功能,/usr/local/mysql是mysql数据库的安装路径。 --enable-mbstring表示启用mbstring模块mbstring模块的主要作用在于检测和转换编码,提供对应的多字节操作的字符串函数。目前php内部的编码只支持ISO-8859-*、EUC-JP、UTF-8,其他的编码的语言是没办法在php程序上正确显示的,所以我们要启用mbstring模块。 同时我们也只是简单的开启和扩展php的一部分功能,其他需要的功能,请自行添加。 配置完毕后,我们现在来编译php,使用make命令,如下: make
php编译的时间比较长,根据机器的性能不同需要等待10-20分钟左右。编译完毕后的截图,如下:
编译完毕后,我们现在开始安装php,使用如下命令: make install
安装完毕后,我们可以通过php –v命令查看是否安装成功。如下: php –v
通过这样安装完毕后,你会发现在/usr/local/lib目录下没有php.ini文件。在这我们就先复制php安装文件提供的模版,如下: cp php.ini-production /usr/local/lib/php.ini
注意php.ini文件一般在/usr/local/lib/和/etc目录下。有关php安装完毕后,没有php.ini文件的,我们再另外一篇文章再介绍。 不要以为到这php的安装就完毕了,LNMP环境中的nginx是不支持php的,需要通过fastcgi来处理有关php的请求。而php需要php-fpm这个组件来支持。 在php5.3.3以前的版本php-fpm是以一个补丁包的形式存在的,而php5.3.3以后的php-fpm只需要在安装php-fpm开启这个功能即可。这个也就是前边,我们再配置php使用到的那个命令--enable-fpm。 php-fpm功能开启后,我们还需要配置php-fpm。其实php-fpm的配置文件在安装php时,已经为我们提供了一个配置文件的模版。该模版为/usr/local/etc/php-fpm.conf.default,如下: more /usr/local/etc/php-fpm.conf.default
我们现在只需要复制一份该文件,并重命名为php-fpm.conf,如下: cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
为了让php-fpm已服务的形式启动。我们需要复制php安装目录下/sapi/fpm/init.d.php-fpm文件。如下: cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
通过上图,我们也可以很清楚的看到php-fpm文件目前没有执行权限。赋予php-fpm执行权限,并启动php-fpm,如下: chmod a+x /etc/init.d/php-fpm /etc/init.d/php-fpm start netstat -tunlp |grep 9000
通过上图,我们可以很明显的看到php-fpm已经正常启动。 注意php-fpm默认监听的是9000端口。 现在再来配置nginx,使其支持php,如下: location ~ /.php$ {
fastcgi_pass 127.0.0.1:9000; fastcgi_index index. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_ include fastcgi_ }
然后在nginx的网站根目录下新建index.php文件内容如下: vi /usr/local/nginx/html/index.php &?php phpinfo(); ?&
现在来启动nginx,如下: /usr/local/nginx/sbin/nginx netstat -tunlp |grep 80
nginx启动完毕后,现在来访问网站,如下:
通过上图,我们可以很明显的看到。php目前已经安装成功,并且也成功的支持mysql数据库。同时也与nginx集成完毕。 至此。我们的php5.6的安装到此结束。
最新教程周点击榜
微信扫一扫2006年5月 PHP大版内专家分月排行榜第二2006年4月 PHP大版内专家分月排行榜第二2007年1月 PHP大版内专家分月排行榜第二
2013年10月 其他开发语言大版内专家分月排行榜第三2007年2月 PHP大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。centos6.5下使用yum完美搭建LNMP环境(php5.6)
准备工作 配置防火墙,开启80端口、3306端口 删除原有的 iptables , 添加合适的配置 rm -rf /etc/sysconfig/iptablesvi /etc/sysconfig/iptables 添加如下内容 : ################################ 添加好之后防火墙
配置防火墙,开启80端口、3306端口
删除原有的 iptables , 添加合适的配置
rm -rf /etc/sysconfig/iptables
vi /etc/sysconfig/iptables
添加如下内容 :
################################ 添加好之后防火墙规则如下所示################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
#######################################################################################
:wq保存退出, 重启防火墙使配置生效
/etc/init.d/iptables restart
关闭SELINUX
/etc/selinux/config
vi /etc/selinux/config
添加一行内容:
SELINUX=disabled
:wq保存退出
shutdown -r now
安装第三方yum源
#安装下载工具
yum install wget
wget /installers/atomic
sh ./atomic
#更新yum源
yum check-update
一. 安装nginx
#删除系统自带的软件包
yum remove httpd* php*
#安装nginx
yum install -y nginx
#设置nginx开机启动
chkconfig nginx on
#启动nginx
service nginx start
二. 安装PHP
检查当前安装的PHP包
yum list installed | grep php
如果有安装的PHP包,先删除他们, 如:
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64
配置安装包源:
# Centos 5.X
rpm -Uvh /yum/el5/latest.rpm
# CentOs 6.x
rpm -Uvh /yum/el6/latest.rpm
# CentOs 7.X
rpm -Uvh /yum/el7/epel-release.rpm
rpm -Uvh /yum/el7/webtatic-release.rpm
如果想删除上面安装的包,重新安装
rpm -qa | grep webstatic
[上面搜索到的包即可]
yum -y install php56w.x86_64
yum -y --enablerepo=webtatic install php56w-devel
yum -y install php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64
安装PHP FPM
yum -y install php56w-fpm
#设置php-fpm开机启动
chkconfig php-fpm on
#启动php-fpm
/etc/init.d/php-fpm start
注:如果想更换到php5.5或5.4版本, 直接把上面的56w换成55w或者54w就可以了
三. 安装 MySQL
yum install -y mysql mysql-server
#启动MySQL
/etc/init.d/mysqld start
#设为开机启动
chkconfig mysqld on
#拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
cp /usr/share/mysql/f /f
为root账户设置密码
mysql_secure_installation
# 回车,根据提示输入Y,输入2次密码,回车,根据提示一路输入Y,最后出现:Thanks for using MySQL!
MySql密码设置完成,重新启动 MySQL:
/etc/init.d/mysqld restart
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
1. 配置nginx
rm -rf /etc/nginx/conf.d/*
vi /etc/nginx/conf.d/default.conf
添加如下内容 :
server_name _;
index index.php index.html index.
location ~ .*\.(php|php5)?$
#fastcgi_pass
unix:/tmp/php-cgi.
fastcgi_pass
127.0.0.1:9000;
fastcgi_index index.
include fastcgi.
location / {
try_files $uri $uri/ /index.php?$query_
说明: /var/www 为web根目录, location / ... 为url的rewrite,隐藏 index.php
2. 配置php-fpm
vi /etc/php-fpm.d/www.conf
将用户和用户组设置为nginx, 如:
#修改用户为nginx
user = nginx
#修改组为nginx
group = nginx
cd /var/www
vi index.php
添加以下代码
phpinfo();
:wq! 保存退出
chown nginx.nginx /var/www -R
#重启nginx
service nginx restart
#重启php-fpm
service php-fpm restart
在客户端浏览器输入服务器IP地址(如: 127.0.0.1),可以看到相关的配置信息!
说明lnmp配置成功!
(责任编辑:最模板)
------分隔线----------------------------
SVN的介绍 https://zh.wikipedia.org/wiki/Subversion 安装说明: 系统环境:...
将教大家如何在Ubuntu上安装MineCraft 1.安装JDK1.7 安装MineCraft首先要...
Linux脚本将目录下所有文件由GB2312转为UTF-8 find ./ -type f -name *.a...
有的时候因为硬盘空间不够,需要在线增加硬盘,有的时候因为...
--------CentOS 7--------------------- sudo adduser --system --no-create-home --us...
CopyRight (C)
最模板 , 深圳奇好科技有限公司 All Rights Reserved.}

我要回帖

更多关于 女孩说以后不要买东西 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信