apache2.4 php5.6支持php5.2.17吗

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分1196阅读权限30帖子精华可用积分1196 信誉积分194 专家积分0 在线时间153 小时注册时间最后登录
家境小康, 积分 1196, 距离下一级还需 804 积分
帖子主题精华可用积分1196 信誉积分194 专家积分0 在线时间153 小时注册时间最后登录
论坛徽章:0
本帖最后由 chlinux 于
15:32 编辑
安装方法,我只提一下关键点,网上能找到相关文档,我不啰嗦
1、安装apache2.4.1
yum remove apr apr-util httpd
下载安装:
apr-1.4.6.tar.gz
./configure --prefix=/usr/local/apr-httpd/ && make && make install
下载安装:
apr-util-1.4.1.tar.gz
./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/ && make && make install
下载安装:
httpd-2.4.1.tar.gz
./configure&&--prefix=/usr/local/apache241 --enable-mods-shared=all --enable-deflate --enable-speling --enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache --enable-ssl --with-ssl=/usr/local/openssl/ --enable-rewrite --enable-so --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/
2、安装php5.3.10和php5.4.0是一样的
php-5.4.0.tar.gz
./configure --prefix=/usr/local/php540 --with-gd --with-zlib-dir --with-freetype-dir --with-mysql --with-apxs2=/usr/local/apache241/bin/apxs --enable-mbstring --with-mcrypt --with-curl --with-iconv --enable-soap --with-openssl --enable-zip
3、安装phpredis模块,这个安装大家要注意一下了,php5.3.10是正常安装没什么问题的,但这个模拟本身的问题编译会出错,我反馈给phpredis官方,没想到很快给出了结果,更新的源码,但改完后估计他们也没有测试,还有两个源码文件没有修改,编译还会出错,可以模仿着手工修改一下。
这个是官方的修改
正常安装,php5.3.10可以正常配置安装
下载地址:,有个图标zip点这个下载。
cd phpredis
/usr/local/php540/bin/phpize
./configure --with-php-config=/usr/local/php540/bin/php-config
make install
make install后,会把redis.so拷到扩展目录下。如下:
记得php5.3.10是这个路径
php5.3.10/lib/php/extensions/no-debug-zts-/
下面显示的是5.4.0的目录,5.3.10和这个类似,在make install时注意一下就行了,当然也可以在phpinfo()中查到这个目录。
[root@data nicolasff-phpredis-9577b82]# make install
Installing shared extensions:& &&&/usr/local/php540/lib/php/extensions/no-debug-zts-/
[root@data nicolasff-phpredis-9577b82]# ll /usr/local/php540/lib/php/extensions/no-debug-zts-/
-rwxr-xr-x 1 root root 671271 Mar 12 09:42 redis.so
修改php.ini文件
extension_dir = &/usr/local/php540/lib/php/extensions/no-debug-zts-/&
extension=redis.so
重启apache就可以在phpinfo信息中看到下面的信息了
Redis Version & & & & 2.1.3
对于php5.4.0需要做些修改,昨天他们刚修改了redis.c这个文件,但还落下两个,模仿修改一下即可编译通过。其余操作和php5.3.10一样处理。redis.c View file @ f8c8ab2
+#if PHP_VERSION_ID &= 50400
& & & &&&518& & & &
+&&id = zend_list_insert(redis_sock, le_redis_sock TSRMLS_CC);
& & & &&&519& & & &
vi redis_array.c
id = zend_list_insert(ra, le_redis_array TSRMLS_CC); //+TSRMLS_CC
vi redis_array_impl.c
id = zend_list_insert(redis_sock, le_redis_sock TSRMLS_CC); //复制代码现在开始说一下我从php5.2.17过渡到5.3.10碰到的问题:
1、date函数使用前需要使用这个函数做一下设置,当然这个可以在php.ini中进行配置。
& &date_default_timezone_set('Asia/Shanghai');
2、很惭愧一个低级错误用php5.2.17一直顺利的在运行,但php5.3.10、php5.4.0都能正确的报错:
& &public static public static function myfunction_name(){}
3、sessionid的自动传递问题,有些应用不得以要用url来传递sessionid,但php5.3.10让我难堪了一下,搞了一天才顺序使用:
& &php5.2.17的代码:ini_set ( 'session.name', 'sid' );
ini_set ( 'session.use_cookies', 0 );
ini_set ( 'session.use_trans_sid', 1 );
session_start ();复制代码但在php5.3.10还需要再配置一个参数ini_set ( 'session.use_cookies', 0 );
ini_set ( 'session.use_only_cookies', 0 );
ini_set ( 'session.name', 'sid' );
ini_set ( 'session.use_trans_sid', 1 );
session_start ();复制代码基本问题解决后说一下apache2.4.1的配置,这个和我之前用的apache2.0配置有些变化
1、需要哪些模块,自已来配置httpd.conf来载入
2、配置文件不全堆在httpd.conf,如虚拟主机的配置文件
在httpd.conf中配置
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
然后修改:
extra/httpd-vhosts.conf
比较实用的一个配置
&VirtualHost *:80&
& & DocumentRoot &/www/vhost1&
& & ServerName
& & ErrorLog &|/usr/local/sbin/cronolog /usr/local/apache241/logs/%Y/%m/%d/errors.log&
& & CustomLog &|/usr/local/sbin/cronolog /usr/local/apache241/logs/%Y/%m/%d/access.log& combined
&/VirtualHost&
用这个配置需要安装cronolog-1.6.2.tar.gz,这个版本可能比较老了
另外需要按自己的要求来配置日志文件的格式:
但这个需要载入一个模块:
LoadModule logio_module modules/mod_logio.so
& & &IfModule logio_module&
& && &# by xxx
& && &LogFormat &%P\t%h\t%{%Y-%m-%d %T}t\t%r\t%&s\t%b\t%{Referer}i\t%{User-Agent}i\t%{X-Forwarded-For}i& combined
& & &/IfModule&
这里我提一下我的一点经验
%P,这个记录执行某程序的进程编号.
说一下记录这个进程id号的作用:如果你程序有问题了,又很难定位,那么你可以先查看top动态参数,查看哪个进程占用的资源多,记录这个进程的id然后再去查日志,这样就容易定位到某个程序了,当然一个进程会处理很多任务,你可以配置一下让一个进程尽量少执行些任务就死掉。
正常运行时配置
MaxRequestsPerChild&&5000
调试时配置
MaxRequestsPerChild&&10
这是我引以自豪的一个设置希望能给大家提供帮助!
apache2.4.1可能是线程化了,具体情况我说不清楚了,从下面的命令结果可以看出问题,当然你也可以在编译安装apache时在configure中进行配置。
apachectl&&-l
Compiled in modules:
&&mod_so.c
&&http_core.c
注意这里是
redis存储session的一点分享,下面这段代码的功能:
1、多台web服务器可以通过一台或者多台主从redis服务器存取session
2、通过url传递sessionid,当然,可以通过cookie来传递sessionid但注意不要修改cookie的相关配置ini_set ( 'session.name', 'sid' ); //这个可改成自己随意定义
ini_set ( 'session.use_cookies', 0 );&&
ini_set ( 'session.use_only_cookies', 0 );& &//这个配置php5.4以前是不需要的
ini_set ( 'session.use_trans_sid', 1 );&&//通过url传参数
ini_set ( 'url_rewriter.tags', &a=href,area=href,frame=src,input=src,form=fakeentry,go=href& );&&//go=href,是我自己要用到的
ini_set ( 'session.save_handler', 'redis' );&&//存储到redis服务器,事先安装好redis模块
ini_set ( 'arg_separator.output', &&& );&&//链接中的 & 用 &代替,这在xml子集的标记语言中适用。
session_save_path ( &tcp://192.168.0.1:6379?timeout=2.5& );& &//存储路径,根据实际情况修改复制代码还真冷清,害我白折腾这么长时间啊,好事做到底,接着写一下
补充:htmlspecialchars函数的使用请注意默认字符集的改变:php5.4.0默认是ISO-8859-1,php5.4.0默认改为:UTF-8,这个千万要注意!
手册原文是这样说的:
string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )
Defines encoding used in conversion. If omitted, the default value for this argument is ISO-8859-1 in versions of PHP prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.
我再把我今天碰到的情况和大家说一下,这个函数是支持GB2312字符集的,但不支持GBK及GB18030,但这会让你很是郁闷!
看一下这个说明:
GB个汉字,GBK有21003个汉字,GB有27533个汉字,GB有70244个汉字。
也就是说,如果你用GB2312那么你碰到GB2312以外的字符那htmlspecialchars 函数会返回空,注意,不是别的乱码之类的,是空!
一段代码可用来测试,这是我实际碰到的可能你想举个反例还不容易找到这个字的!&?php
$str = &啰&;
echo htmlspecialchars($str,ENT_XML1,&GB2312&);
?&复制代码这段代码返回的结果是空!
那是不是说这个函数就没办法使用了呢?那也不是的,像下面这样处理就OK了:&?php
$str = &啰&;
$str = mb_convert_encoding($str,&UTF-8&,&GB18030&); //或者GBK,但不可以是GB2312,原因:超范围了,啰这个字GB2312里没有
echo htmlspecialchars($str,ENT_XML1,&UTF-8&);&&当然你要输出GBK那用mb_convert_encoding再转回去
?&复制代码再强调一下mb_convert_encoding支持哪些字符集?一定要查手册,不同的版本手册上的说明真还不一样,查手册是个好习惯,尤其是换了版本后,php5.2换到php5.3一定要注意,如果用php5.4更要查手册的!!!
这个是最新版本的手册。
总评分:&可用积分 + 10&
与人为善,智慧共享!
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分2阅读权限10帖子精华可用积分2 信誉积分4 专家积分0 在线时间1 小时注册时间最后登录
白手起家, 积分 2, 距离下一级还需 198 积分
帖子主题精华可用积分2 信誉积分4 专家积分0 在线时间1 小时注册时间最后登录
论坛徽章:0
本帖最后由 hfyete 于
12:28 编辑
非常感谢,另外我安装的httpd2.4.1+php5.4.0,安装好之后无法打开页面,请教一下原因
UID空间积分0 积分1196阅读权限30帖子精华可用积分1196 信誉积分194 专家积分0 在线时间153 小时注册时间最后登录
家境小康, 积分 1196, 距离下一级还需 804 积分
帖子主题精华可用积分1196 信誉积分194 专家积分0 在线时间153 小时注册时间最后登录
论坛徽章:0
本帖最后由 chlinux 于
17:04 编辑
& & 你这么说我也不清楚你当时的情况啊,呵呵,服务是否启动,防火墙是否设置正确?
查80端口命令:
lsof -i:80
查防火墙配置情况:
iptables -L
与人为善,智慧共享!
UID空间积分0 积分2阅读权限10帖子精华可用积分2 信誉积分6 专家积分0 在线时间2 小时注册时间最后登录
白手起家, 积分 2, 距离下一级还需 198 积分
帖子主题精华可用积分2 信誉积分6 专家积分0 在线时间2 小时注册时间最后登录
论坛徽章:0
/redis.c: In function ‘send_discard_static’:
/redis.c:299: error: ‘tsrm_ls’ undeclared (first use in this function)
/redis.c:299: error: (Each undeclared identifier is reported only once
/redis.c:299: error: for each function it appears in.)
我编译过程中报这个错误,怎么解决啊?
UID空间积分0 积分12阅读权限10帖子精华可用积分12 信誉积分26 专家积分0 在线时间17 小时注册时间最后登录
白手起家, 积分 12, 距离下一级还需 188 积分
帖子主题精华可用积分12 信誉积分26 专家积分0 在线时间17 小时注册时间最后登录
论坛徽章:0
那个APR去哪下载啊 我在apache.org没找到啊
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处PHP5.4 + apache2.4 配置问题
[问题点数:40分,结帖人freedom_wbs]
PHP5.4 + apache2.4 配置问题
[问题点数:40分,结帖人freedom_wbs]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年5月 总版技术专家分月排行榜第一
2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
2013年5月 总版技术专家分月排行榜第一
2016年3月 总版技术专家分月排行榜第二2015年12月 总版技术专家分月排行榜第二2014年8月 总版技术专家分月排行榜第二2014年7月 总版技术专家分月排行榜第二2013年6月 总版技术专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。Windows XP下安装和配置Apache2.2.22服务器+PHP5+Mysql5
随着PHP网站的流行,国内越来越多的站长使用php开发网站或者使用相关的php开源网站(例如:DeDeCMS、phpWind、康盛的Discuz!、wordpress等一些目前比较流行的开源网站),对于一些刚开始接触PHP语言或者刚开始建立自己站点的人来说,在本地测试php网站无疑是件非常重要的事情,因为这样可以在本地做若干的调试,而不用去担心网络问题以及运营商问题。
接下来,笔者将WindowsXP(Sp3)下,搭建和配置php运行环境做一个简单的介绍:
1.安装准备
1.1Apache下载,官方地址(),此处笔者下载版本的是Apache HTTP Server
2.2.22,使用的是OpenSSL的版本(httpd-2.2.22-win32-x86-openssl-0.9.8t.),如图
1.2PHP下载,官方地址(),此处下载的是Php5(php-5.2.17-Win32-VC6-x86)
1.3Mysql下载,官方地址(),此处使用的是Mysql5(mysql-essential-5.1.57-win32.zip)
2.安装Apache HTTP Server
2.1运行下载好的&httpd-2.2.22-win32-x86-openssl-0.9.8t.msi&文件,出现如下安装界面,如图
红色框内显示的是apache的版本号,我们直接点击&Next&进入下一步;
出现软件安装许可条例,这里直接选择&I accept the terms in the license
agreement&;然后点击&Next&;
对话框显示的是软件相关须知(如果您安装软件的时候很有耐心,可以考虑读一遍,看看自己的英文水平如何),这里我们直接点击&Next&;
这里是要填写服务的相关信息,Network Domain这一项是填写你的域名(如:);Server
Name这一项填写你的服务器名称(如:);Administrator&s Email
Address这一项填管理员的邮箱地址;在本地配置,以上三个栏目均可以随意填写,有效无效都可以。下面2个选项,第一个是为系统所有的用户安装,使用80端口;第二是只为当前用户安装,使用8080端口;一般情况我们默认第一个,然后点击&Next&;
这一步是让你选择2种安装模式类型,&Typical&是经典模式,也就是默认安装模式;&Custom&是自定义安装,就是可以选择安装路径和软件的一些功能选择;笔者此处选择&Custom&;
我们此处讲软件的所以功能都选上,并修改了软件的安装位置,笔者此处选在E盘的一个目录下,你也可以选择到自己想要安装到的目录;
准备安装,此处点击&Next&;
此处无需操作,等待一下;
完成,点击&Finish&完成安装。
此时电脑任务栏右侧的状态栏出现Apache的图标
表示apache服务已经正在运行;
此时,我们可以在浏览器地址栏中输入http://127.0.0.1访问,浏览器显示文字&It Works!&,表示服务状态正常。
2.2接下来对Apache服务器进行一些简单的配置,首先我们从程序中打开Apache的配置文件,如图:
点击后弹出一个记事本的文档
这里我们要配置下网站文件的存放位置,即网站根目录,默认是在apache安装文件中的&htdocs&;默认位置为&E:/webdev/Apache2.2/htdocs&;为了平时方便管理,我们讲网站的根目录放在一个比较方便的位置,点击记事本的查找选项,查找&DocumentRoot&,查到如图显示信息:
注:相关网站建设技巧阅读请移步到频道。
看过本文的人还看过
最新图文推荐
最新专栏文章
大家感兴趣的内容
&&<a rel="nofollow" class="red" href="" target="_blank" color="red新版网站排行榜
===全新上线===
网友热评的文章apache2.4与php5.5的配置与整合_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
apache2.4与php5.5的配置与整合
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
你可能喜欢在学新技术时,配置环境真是个郁闷的事情,很难熬,不过还好网上有很多弟兄的无私奉献对我很有帮助。
&&& 第一、安装并配置APACHE(安装到D:\phpapache\Apache2.2)&&&&& 1、安装时默认安装,Network Domain, Server Name 我填写我的计算机名,Administrator's Email Address区域填你的邮件地址&&&&& 2、安装完后在安装目录下有个conf文件夹,打开httpd.conf文件进行配置&&&&&&&& &找到 DocumentRoot ,将其设置为你所要存放php, htm等网页文件的文件夹,如 "D:\phpapache\Apache2.2\htdocs";&&&&&&&& &找到 DirectoryIndex ,在index.html后添加index.php, index.htm等,以单个空格将其分开;&&&&&&&& &重启Apache,用或或测试是否成功。成功的话屏幕会有个It works!&&
&& 第二、安装配置PHP(解压PHP压缩包到d:\php\)&&&&&&&& 1、修改php.ini
&&&&&&&& 2、将extension_dir 改为php/ext所在目录,如 "d:\php\ext";&&&&&&&& 3、将doc_root 改为第一步中的同样目录,如 "D:\phpapache\Apache2.2\htdocs";&&&&&&&&&
&&&&&&&& 5、然后把下面几句前面的分号去掉,以更好支持Mysql and PHPmyadmin &&&&&&&&&&&&&&&& extension=php_mbstring.dll&&&&&&&&&&&&&&&& extension=php_gd2.dll&&&&&&&&&&&&&&&& extension=php_mysql.dll
& 第三、PHP+APACHE&&&&&& 1、允许Apache将PHP程序作为模块来运行:&&&&&&&&&& 打开httpd.conf,添加下面内容(位置任意):&&&&&&&&&&&& LoadModule php5_module "d:/phpapache/php/php5apache2_2.dll"(apache2.0时为php5apache2.dll)
&&&&&&&&&&&& AddType application/x-httpd-php .php&&&&&&&&&&&& AddType application/x-httpd-php .htm&&&&&&&&&&& (.htm, .php为可执行php语言的扩展名,也可加html, php3, php4,甚至txt)&&&&&&&&&&&&
&&& 第四、重起服务&&&&& 1、在d:\PHP里找到php5ts.dll,libmysql.dll将其复制到c:\winnt\system32下(winNT/2000的机器),而winXP/2003是复制到c:\windows\system32下
&&&&&&&&&& (系统重装为win7 64位后,如果php实在连接不上mysql,将libmysql.dll复制到apache的bin目录下试试)&&&&& 2、测试Apache与php是否连接成功:&&&&&&&&& 启动start apache服务或者正在运行的就重新启动restart apache&&&&& 3、在Web根目录下新建test.php(即E:\Program Files\Apache Software Foundation\Apache2.2\htdocs目下)&&&&&&&&&& &html&&&&&&&&&&& &head&&title&test&/title&&/head&&&&&&&&&&& &body&&&&&&&&&&&& &?php&&&&&&&&&&&&& phpinfo();&&&&&&&&&&& ?& &&&&&&&& &/body&&&&&&&&&& &/html&
&&&&& 4、运行&&&&&&&& 如果成功,则应该看到一个含有PHP徽标的网页,其中包含大量设置和其他信息&&&&&&&& 那么恭喜你
阅读(...) 评论()}

我要回帖

更多关于 apache2.4.17漏洞 的文章

更多推荐

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

点击添加站长微信