我刚刚安装完Apache2.4.2和pHp5.4.5现在,当声明服务器时,我收到PHP启动错误"无法加载大约12个扩展名的动态库xyz.dll。现在,当我将文件从PHP目录复制到system32时,其中许多错误都会被删除,但我听说过环境变量,我想使用环境变量,而不是将每个文件复制到system32。
谢谢Varun Agrawal
(假定Apache作为Windows服务运行)
以下是桌面应用程序的搜索顺序,描述了用于定位DLL的搜索顺序:
- 1.加载应用程序的目录
- 2.当前目录
- 3.系统目录。使用
GetSystemDirectory()
函数获取此目录的路径 - 4.16位系统目录。没有任何函数可以获取此目录的路径,但会对其进行搜索
- 5.Windows目录。使用
GetWindowsDirectory()
函数获取此目录的路径 - 6.在
PATH
环境变量中列出的目录。请注意,这不包括由App Paths
注册表项指定的每个应用程序路径。计算DLL搜索路径时不使用App Paths
密钥
通过修改PATH
环境变量以包含DLL所在的目录,可以找到它们。但是,由于Apache作为Windows服务运行,Apache不仅需要重新启动,而且服务控制管理器也需要重新启动。(据我所知)重新启动服务控制管理器的唯一方法是重新启动计算机。
编辑系统PATH
环境变量(无论如何在XP上):
- 右键单击
My Computer
并选择Properties
- 在出现的
System Properties
对话框中选择Advanced
选项卡 - 单击
Environment Variables
按钮 - 在
System variables
列表中查找PATH
- 单击
Edit
并添加您的目录