09-01
28
The specified module could not be found.
作者:Java伴侣 日期:2009-01-28
1. 可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。
2. 怎样将 PHP 目录加入到 Windows 路径 PATH 中去?
* 进入:系统,选择“高级”标签页 点击“环境变量”按钮
* 在“系统变量”栏中
* 找到 Path 这一项(可能需要向下滚动才能找到)
* 鼠标双击 Path 这一项
* 在最后加入你的 PHP 目录,包括前面的“;”(例如:;C:\php)
* 点击“确定”并重新启动电脑
3. 在 ZIP 包中有两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,因为在该文件中优化了性能和安全。
4. 编辑新的 php.ini 文件。如果计划使用 OmniHTTPd,不要执行下一步。设置 doc_root 并指向 web 服务器的 document_root:
doc_root = c:\apache\htdocs
5. 怎样使 php.ini 文件在 Windows 下被 PHP 所用?
<1>有几种方法。如果使用 Apache,阅读专门的安装指示(Apache 1,Apache 2),否则就必须设定 PHPRC 环境变量:
在 Windows NT,2000,XP 和 2003 中:
* 进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)
* 选择“高级”标签页
* 点击“环境变量”按钮
* 在“系统变量”栏中
* 点击“新建”按钮并在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini 文件所在的目录(例如:C:\php)
* 点击“确定”并重新启动电脑
在 Windows 98/Me 中需要编辑 autoexec.bat 文件:
* 打开记事本(开始 -> 运行,然后输入 notepad 并点确定)
* 打开 C:\autoexec.bat 文件
* 在文件结尾处加入一行:set PHPRC=C:\php(将 C:\php 替换为你的 php.ini 实际存在的目录)。注意路径中不能包含空格。例如将 PHP 安装到了 C:\Program Files\PHP 中,你需要输入 C:\PROGRA~1\PHP 替代之
* 保存文件并重新启动电脑
<2> 复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini.
而php.ini 的搜索路径如下(按顺序):
* SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量)
* HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置)
* PHPRC 环境变量
* 当前工作目录(对于 CLI)
* web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况)
* Windows 目录(C:\windows 或 C:\winnt),或 --with-config-file-path 编译时选项指定的位置
<3> 该名字后放在php目录中不动
<4> 将其拷贝到c:\windows或c:\winnt目录中
6. 如果 php.ini 被使用了并且你是以模块方式运行 PHP 的,确保在修改了 php.ini 之后重新启动你的 web server。
7. 将 PHP 集成入 Apache(以 Apache 模块方式安装)
需要将以下两行加入到 Apache 的 httpd.conf 配置文件中以设定 Apache 2.0 的 PHP 模块: 例子 6-6. PHP 在 Apache 2.0 中的模块方式
# 对 PHP 4 用这两行:
LoadModule php4_module "c:/php/php4apache2.dll"
# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!
AddType application/x-httpd-php .php
# 对 PHP 5 用这两行:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# 配置 php.ini 的路径
PHPIniDir "C:/php"
注: 记得用自己 PHP 实际所在的路径替换掉上例中的 c:/php/。要留意在 LoadModule 指令中用的是 php4apache2.dll 或 php5apache2.dll,而不是 php4apache.dll 或 php5apache.dll,后者是设计用于 Apache 1.3.x 的。
8. 将php.ini中的display_errors = Off改为display_errors = On,只是为了自己编译的方便,而在实际使用中,这种配置非常不安全。
同样的还有:display_startup_errors = Off改为了display_startup_errors = On
9. 将doc_root = 后面加"c:\apache2.2\htdocs"
10. 将extension_dir = "./"改为extension_dir = "c:\php\ext"
路径名最后加不加"\"?哪种方式更好?
路径名中使用反斜杠还是正斜杠好?
11. 将extension=php_mysql.dll前面的分号";"去掉
安装完apache后没出现问题,但和php构建使用时,启动apache出现这样的错误:httpd.exe: Syntax error on line 99 of C:/Apache2.2/conf/httpd.conf: Cannot load
C:/php/php5apache2.dll into server: The specified module could not be found."
Note the errors or messages above, and press the <ESC> key to exit. 25...
解决办法:
下载:
http://blog.haloso.com/attachments/200606/01_034408_php5apache2.dllphp5.1.x.rar
并解压.共有三个文件.
vcredist_x86.exe
php5apache2.dll
httpd.exe.manifest
1.将 php5apache2.dll 覆盖掉你原来PHP目录下的 php5apache2.dll 文件.
2.将 httpd.exe.manifest 文件复制到你的apache安装目录下的bin文件夹下.
3.双击运行vcredist_x86.exe安装.(如果您的系统里已安装了 .NET framework 2.就可以省掉这一步)
然后重启你的apache2.2
<3月1日更新>
更新一:有删除线的为原来的解决方案,使用一段时间发现这个方法安装的总是出问题,所以找到了一个更好的解决方法,不用下载上面说到的那个压缩包。
首先我们先解释一下这个我们原来在httpd.conf中添加的这段指令:
LoadModule php5_module "c:/php/php5apache2.dll"
其中的php5apache2.dll是apache2.0.x的模块,而我原来以为是apache2.x的模块,php目录中还有一个文件php5apache2_2.dll是apache2.2.x的模块,所以如果我们应用php时使用apache2.2作为服务器,我们应该将这个指令改为:
LoadModule php5_module "c:/php/php5apache2_2.dll"
但如果使用apache2.0.x作为服务器,这个指令则不用改动。
只需改动一下便可以使上面那个错误提示消失,而且运行稳定无问题。
更新二:PHP 不仅限于只产生 HTML 的输出。还可以创建及操作多种不同图像格式的图像文件,包括 gif,png,jpg,wbmp 和 xpm。更方便的是,PHP 可以直接将图像流输出到浏览器。要处理图像,需要在配置文件中为PHP 加上图像函数的 GD 库,我们可以将配置文件中extension=php_gd2.dll前面的分号去掉。
更新三:
前面提到:路径名最后加不加"/"?哪种方式更好?路径名中使用反斜杠还是正斜杠好?
这两个问题我在哪本书中见过,但现在想不起来了。但从官方提供的配置来说,显然路径名后不加斜杠更好,至于为什么现在不太清楚。使用反斜杠好还是使用正斜杠?这在apache的官方文档中有说明:
接收文件名作为参数的指令必须使用Windows文件名而不是Unix文件名。 但是,因为Apache内部使用Unix风格的名字,你必须使用正斜杠而不是反斜杠。可以使用盘符;如果省略盘符,将假定使用Apache可执行文件所在盘符。
显然,显然这些是针对apache的配置文件的,不知道php中是怎样。但是在php脚本中,我们当然应该选择使用正斜杠,而不是反斜杠,因为使用正斜杠的脚本可移植性更好。
2. 怎样将 PHP 目录加入到 Windows 路径 PATH 中去?
* 进入:系统,选择“高级”标签页 点击“环境变量”按钮
* 在“系统变量”栏中
* 找到 Path 这一项(可能需要向下滚动才能找到)
* 鼠标双击 Path 这一项
* 在最后加入你的 PHP 目录,包括前面的“;”(例如:;C:\php)
* 点击“确定”并重新启动电脑
3. 在 ZIP 包中有两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,因为在该文件中优化了性能和安全。
4. 编辑新的 php.ini 文件。如果计划使用 OmniHTTPd,不要执行下一步。设置 doc_root 并指向 web 服务器的 document_root:
doc_root = c:\apache\htdocs
5. 怎样使 php.ini 文件在 Windows 下被 PHP 所用?
<1>有几种方法。如果使用 Apache,阅读专门的安装指示(Apache 1,Apache 2),否则就必须设定 PHPRC 环境变量:
在 Windows NT,2000,XP 和 2003 中:
* 进入控制面板并打开“系统”图标(开始 -> 设置 -> 控制面板 -> 系统,Windows XP/2003 中是:开始 -> 控制面板 -> 系统)
* 选择“高级”标签页
* 点击“环境变量”按钮
* 在“系统变量”栏中
* 点击“新建”按钮并在“变量名”中输入“PHPRC”,在“变量值”中输入 php.ini 文件所在的目录(例如:C:\php)
* 点击“确定”并重新启动电脑
在 Windows 98/Me 中需要编辑 autoexec.bat 文件:
* 打开记事本(开始 -> 运行,然后输入 notepad 并点确定)
* 打开 C:\autoexec.bat 文件
* 在文件结尾处加入一行:set PHPRC=C:\php(将 C:\php 替换为你的 php.ini 实际存在的目录)。注意路径中不能包含空格。例如将 PHP 安装到了 C:\Program Files\PHP 中,你需要输入 C:\PROGRA~1\PHP 替代之
* 保存文件并重新启动电脑
<2> 复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini.
而php.ini 的搜索路径如下(按顺序):
* SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量)
* HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置)
* PHPRC 环境变量
* 当前工作目录(对于 CLI)
* web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况)
* Windows 目录(C:\windows 或 C:\winnt),或 --with-config-file-path 编译时选项指定的位置
<3> 该名字后放在php目录中不动
<4> 将其拷贝到c:\windows或c:\winnt目录中
6. 如果 php.ini 被使用了并且你是以模块方式运行 PHP 的,确保在修改了 php.ini 之后重新启动你的 web server。
7. 将 PHP 集成入 Apache(以 Apache 模块方式安装)
需要将以下两行加入到 Apache 的 httpd.conf 配置文件中以设定 Apache 2.0 的 PHP 模块: 例子 6-6. PHP 在 Apache 2.0 中的模块方式
# 对 PHP 4 用这两行:
LoadModule php4_module "c:/php/php4apache2.dll"
# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!
AddType application/x-httpd-php .php
# 对 PHP 5 用这两行:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# 配置 php.ini 的路径
PHPIniDir "C:/php"
注: 记得用自己 PHP 实际所在的路径替换掉上例中的 c:/php/。要留意在 LoadModule 指令中用的是 php4apache2.dll 或 php5apache2.dll,而不是 php4apache.dll 或 php5apache.dll,后者是设计用于 Apache 1.3.x 的。
8. 将php.ini中的display_errors = Off改为display_errors = On,只是为了自己编译的方便,而在实际使用中,这种配置非常不安全。
同样的还有:display_startup_errors = Off改为了display_startup_errors = On
9. 将doc_root = 后面加"c:\apache2.2\htdocs"
10. 将extension_dir = "./"改为extension_dir = "c:\php\ext"
路径名最后加不加"\"?哪种方式更好?
路径名中使用反斜杠还是正斜杠好?
11. 将extension=php_mysql.dll前面的分号";"去掉
安装完apache后没出现问题,但和php构建使用时,启动apache出现这样的错误:httpd.exe: Syntax error on line 99 of C:/Apache2.2/conf/httpd.conf: Cannot load
C:/php/php5apache2.dll into server: The specified module could not be found."
Note the errors or messages above, and press the <ESC> key to exit. 25...
解决办法:
下载:
http://blog.haloso.com/attachments/200606/01_034408_php5apache2.dllphp5.1.x.rar
并解压.共有三个文件.
vcredist_x86.exe
php5apache2.dll
httpd.exe.manifest
1.将 php5apache2.dll 覆盖掉你原来PHP目录下的 php5apache2.dll 文件.
2.将 httpd.exe.manifest 文件复制到你的apache安装目录下的bin文件夹下.
3.双击运行vcredist_x86.exe安装.(如果您的系统里已安装了 .NET framework 2.就可以省掉这一步)
然后重启你的apache2.2
<3月1日更新>
更新一:有删除线的为原来的解决方案,使用一段时间发现这个方法安装的总是出问题,所以找到了一个更好的解决方法,不用下载上面说到的那个压缩包。
首先我们先解释一下这个我们原来在httpd.conf中添加的这段指令:
LoadModule php5_module "c:/php/php5apache2.dll"
其中的php5apache2.dll是apache2.0.x的模块,而我原来以为是apache2.x的模块,php目录中还有一个文件php5apache2_2.dll是apache2.2.x的模块,所以如果我们应用php时使用apache2.2作为服务器,我们应该将这个指令改为:
LoadModule php5_module "c:/php/php5apache2_2.dll"
但如果使用apache2.0.x作为服务器,这个指令则不用改动。
只需改动一下便可以使上面那个错误提示消失,而且运行稳定无问题。
更新二:PHP 不仅限于只产生 HTML 的输出。还可以创建及操作多种不同图像格式的图像文件,包括 gif,png,jpg,wbmp 和 xpm。更方便的是,PHP 可以直接将图像流输出到浏览器。要处理图像,需要在配置文件中为PHP 加上图像函数的 GD 库,我们可以将配置文件中extension=php_gd2.dll前面的分号去掉。
更新三:
前面提到:路径名最后加不加"/"?哪种方式更好?路径名中使用反斜杠还是正斜杠好?
这两个问题我在哪本书中见过,但现在想不起来了。但从官方提供的配置来说,显然路径名后不加斜杠更好,至于为什么现在不太清楚。使用反斜杠好还是使用正斜杠?这在apache的官方文档中有说明:
接收文件名作为参数的指令必须使用Windows文件名而不是Unix文件名。 但是,因为Apache内部使用Unix风格的名字,你必须使用正斜杠而不是反斜杠。可以使用盘符;如果省略盘符,将假定使用Apache可执行文件所在盘符。
显然,显然这些是针对apache的配置文件的,不知道php中是怎样。但是在php脚本中,我们当然应该选择使用正斜杠,而不是反斜杠,因为使用正斜杠的脚本可移植性更好。
评论: 0 | 引用: 0 | 查看次数: 1099
发表评论