【问题标题】:php extension & windows environment variable PATHphp 扩展和 windows 环境变量 PATH
【发布时间】:2012-07-23 07:39:31
【问题描述】:
我刚刚安装完 Apache2.4.2 和 pHp5.4.5
现在,当声明服务器时,我收到 PHP 启动错误“无法为大约 12 个扩展加载动态库 xyz.dll。现在,当我将文件从 pHp 目录复制到 system32 时,许多这些错误都被删除了,但我听说过环境变量我想使用环境变量而不是将每个文件都复制到 system32。
谢谢
瓦伦·阿格拉瓦尔
【问题讨论】:
标签:
php
windows
apache
environment-variables
【解决方案1】:
(假设 Apache 作为 Windows 服务运行)
以下内容来自Search Order for Desktop Applications,描述了用于定位 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并添加您的目录