怎样在apache2.2.17中加载PHP模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在apache2.2.17中加载PHP模块相关的知识,希望对你有一定的参考价值。
如题
打开apache官方网站 http://archive.apache.org/dist/httpd/binaries/win32/ 或者镜像网站 http://apache.mirror.phpchina.com/httpd/binaries/win32/,下载里面的apache_2.2.17-win32-x86-no_ssl.msi安装文件。其中,同一版本有两种类型:no_ssl和openssl,openssl多了个ssl安全认证模式,它的协议是HTTPS而不是HTTP,这就是带有SSL的服务器与一般网页服务器的区别了。一般情况下,我们下载no_ssl版本的就ok了。下载好apache安装文件后,点击安装,在连续3次next后,将进入server information配置界面,要求输入network domain、server domain和网站管理员的邮箱地址,普通用户可以随便按照格式填一下就行了。再次按Next后,出现选择安装路径的界面,默认的路径比较长,pharmar把安装路径修改为:“D:\\Program Files\\Apache\\”,继续安装,直到完成。安装完毕,apache就自动启动,可以测试apache是否成功启动。在浏览器地址栏里输入: http://localhost/或 http://127.0.0.1/,如果出现“It works.”,那么恭喜你,apache已经成功安装了;同时在电脑右下角的任务栏里有一个绿色的apache服务器运行图标。apache还有一个配置文件:httpd:conf 需要配置,以便php运行。位置为:D:\\Program Files\\Apache\\conf目录里。打开httpd:conf:1)、查找“DocumentRoot”,这里是指定主页放置的目录。默认是:“D:\\Program Files\\Apache\\htdocs”,你可以使用默认的目录,也可以自己定义一个,如:“D:/PHP”。注意:目录末尾不要加“/”。
2)、查找“DirectoryIndex”,这里是默认首页文件名,可以在index.html 的后面加入index.php等。每种类型之间都要留一个空格。
3)、查找
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
修改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
如果不改这里的话,可能会出现 You don\'t have permission to access / on this server. 这样的错误提示,尤其在改变了默认主页的路径后。注意:每次修改httpd:conf文件后,都要重启apache服务器。另外,如果你的win32系统上同时也运行iis服务器,那么就要先停止iis服务器的运行,然后再启动apache,否则apache服务器无法启动。
Php的安装与配置方法首先从php的官方网站 http://www.php.net/downloads.php 下载windows版本的,有两种版本:PHP 5.3.4 zip package和PHP 5.3.4 installer,目前最新版本就是5.3.4,pharmar使用的是5.3.4版本。PHP 5.3.4installer为自动安装方式,虽然比较自动化,但在很多方面受到限制,因此pharmar不推荐使用这种方式,下面介绍PHP 5.3.4zip package压缩包方式下的手动安装。1)、将PHP的压缩包zip解压到一个目录下,推荐:“C:/PHP”,pharmar的是D:\\Program Files\\Php。
2)、将PHP目录(D:\\Program Files\\Php)下的 php.ini-dist 文件重命名为 php.ini,PHP的配置文件就是它,修改以下几个地方,修改好后把 php.ini 文件复制到 C:\\WINDOWS\\ 目录里:
extension_dir="D:\\Program Files\\Php\\ext" ,指向php文件夹下放置“php_*.dll”文件的路径。PHP4和PHP5的路径在这里有所区别。
doc_root="D:\\PHP" ,指向前面apache设置的首页位置;
default_charset="gb2312" ,修改默认字符集,这里,如果前面有分号“;”,去掉这个分号;
register_globals=Off 改为 register_globals=On ,使传递全局变量有效;
extension=php_dba.dll 如果前面有分号,取消分号,以下同;
extension=php_dbase.dll
extension=php_gd2.dll GD库做图,一般用于图形验证码;
extension=php_mysql.dll 用于连接MYSQL数据库;
3)、将PHP目录下的 php5ts.dll 文件拷贝到 C:\\WINDOWS\\system32 目录。
4)、最后修改 Apache 的 httpd.conf 文件。在该文件的末尾添加如下2行,表示以模块方式安装PHP进入Apache:
LoadModule php5_module D:/Program Files/Php/php5apache2_2.dll
AddType application/x-httpd-php .php注意:第一行的目录路径要更新为当前版本的apache动态链接库,比如这里我使用的是apache2.2.17版本和php5.3.4,那这个文件必须是php5apache2_2.dll,而不能是php5apache.dll、php5apache2.dll等。第二行为php脚步的后缀。
php4版中,需要添加一行 AddType mod_php4.c,而在php5中,就不需要这样的一行 AddType mod_php5.c了,php5已经集成,否则 apache 启动不了。以上就完成了apache和php的配置过程了,重启apache。在服务器的默认目录“D:\\Program Files\\Apache\\htdocs”里新建文件index.php,写上如下代码:
<?php
phpinfo();
?>
在浏览器地址栏里输入 http://127.0.0.1/ 或 http://localhost/ ,你就会看到php版本信息了。到此为止,php和apache就已经成功的安装了。这里有个细节:apache的配置文件 httpd.conf 中的目录分割符号是“/”,而 PHP 的配置文件 php.ini 里的目录则要求是反斜线 “ \\”,不要搞混了哦。MYSQL的安装就简单了。到官方网站 http://dev.mysql.com/downloads/mysql/5.0.html,下载windows平台下的 mysql ,选择 Windows ZIP/Setup.EXE (x86) 最新版本是 5.1.51 ,下载即可。直接安装,安装完成后,可以进入配置向导,设置mysql数据库密码。一切OK。
关于mysql的安装与配置见:phpMyAdmin安装配置方法和问题解决
pharmar安装过程中遇到的错误:
在 Windows 下安装 PHP 后 Apache 出现 LoadModule takes two arguments 的错误,这个主要原因就是httpd.conf中的这句:
LoadModule php5_module D:\\Program Files\\PHP\\php5apache2_2.dll
解释程序把Program Files中的空格当成了两个参数的分隔符号,因此语句中不能出现空格。在网上找了半天也没找到解决方法,最后用一级目录符号才解决问题,改成如下:
LoadModule php5_module ../php/php5apache2_2.dll
因为apache安装在D:\\Program Files\\Apache\\目录下,PHP安装在D:\\Program Files\\php\\,因此../就表示D:\\Program Files\\目录,这个终于搞定了,希望大家在安装与配置过程中多动动脑筋总会有办法的。 参考技术A 你安装一个APPSERV里面集成apache和PHP还有MYSQL
将 PHP 从 5.3.4 升级到 5.3.22 后,PHP CURL 未在 WAMP 中加载
【中文标题】将 PHP 从 5.3.4 升级到 5.3.22 后,PHP CURL 未在 WAMP 中加载【英文标题】:PHP CURL not loading in WAMP after upgrading PHP from 5.3.4 to 5.3.22 【发布时间】:2013-11-30 11:58:51 【问题描述】:我和PHP cURL not working - WAMP on Windows 7 64 bit有完全相同的问题
CURL 在 Apache 重新启动时不加载,并显示消息:“PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.3.22/ext/php_curl.dll' - 操作系统无法运行%1。\r\n 在第 0 行的未知中"
除了我没有像在另一个线程中那样安装 5.3.13,而是我试图将现有 WAMP 安装中的 PHP 从 5.3.4 升级到 5.3.22,两个 x64 VC9 TS 在 Win 2008R2 64 位上运行Apache 2.2.4 x64。
我做了以下步骤:
已停止 Apache 将php5.3.22解压到/wamp/bin/php5.3.22; 更新了 php.ini、httpd.conf 和 2 个 Wamp 配置文件以指向新的 PHP 版本; 用新的更新了 Apache\bin 中的 php5ts.dll 和 php5isapi.dll 更新了 Windows PATH 以指向 php5.3.22 文件夹而不是 php5.3.4 重新启动 Apache -> CURL 加载错误消息我可以尝试其他线程中提供的大多数答案,除了来自 Matthieu 的答案:
转到http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/并在“Fixed curl extensions:”下下载与您的php版本相对应的curl版本。
...因为 Anindya 的站点中没有 5.3.22 的“固定卷曲扩展”。
有谁知道 5.3.13 之后是否需要“固定 curl 库”?在哪里可以找到?
【问题讨论】:
抱歉,本网站仅针对实施问题(阅读:编程问题)。在 superuser.com 网站上试一试。 @arkascha:这在 Server Fault 上不是更好吗? @arkascha:WAMP 设置通常用作开发工具;这样的问题在这里会比在超级用户上更好。仅供参考:this question is being discussed on Meta. @halfer:WAMP 通常用作开发工具,而不是在生产系统中使用 - 而the latter is nominally on-topic for Server Fault,除非您知道提问者没有使用它进行开发推荐他们去那里是个坏主意。 哎哟!但收到了消息,@Shog。 【参考方案1】:您的问题中有一些拼写错误,或者您做错了一些事情。
新的 PHP 应该已经进入 \wamp\bin\php\php5.3.22 用新的更新了 Apache\bin 中的 php5ts.dll 和 php5isapi.dll 这是通过在 WAMP 中切换版本来完成的,您不需要手动操作
更新了 Windows PATH 以指向 php5.3.22 文件夹而不是 php5.3.4 无需将 PHP 放在 PATH 上,实际上它降低了 WAMPServer 在各个版本之间切换的能力PHP。
看看这个可能会有所帮助How to install a version of PHP into an existing WAMP install
【讨论】:
您好,感谢您的提示。是的,我手动做了一些事情,而不是使用 WAMP 版本管理,解决了这个问题。我终于可以解决 CURL 问题了。但是我现在才意识到,Curl multi_exec 会使 Apache 崩溃。我在带有 CUrl 7.29 / 主机:x86_64-pc-win32 的 Win Server 2008 R2 上使用 PHP 5.3.22 - TS - VC9/x64。所以我正在寻找一种解决方案,将 php_curl 升级到有人会为 multi_exec 验证的新版本/不同版本? rgds,皮埃尔以上是关于怎样在apache2.2.17中加载PHP模块的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 systemjs 在最小的 Angular 2 应用程序中加载 RxJS?