2012-06-26 95 views
0

PHP GD扩展加载和本地服务器上的工作,但它是不正确我们活的服务器上,即使我使用所有完全相同的文件加载。PHP GD扩展不加载在IIS 7.5

(PHP GD工作正常这里) 本地服务器:微软的Windows Server 2003的Small Business Server SP2 IIS版本:6

然后我复制了完整的 “C:\ PHP” 文件夹从本地服务器在活动服务器上的“C:\ Program Files(x86)\”。该“PHP”文件夹中包含ext文件夹和“php_gd2.dll”文件。我也在“php.ini”中将路径从“C:\ PHP”更改为“C:\ Program Files(x86)\”。但是,PHP不在活动服务器上加载。

PHPINFO Local:http://jsfiddle.net/hFKfx/ 
PHPINFO Live: http://jsfiddle.net/h77Hy/ 

我对PHP不太好。请帮忙。

+0

由于它是一个安装/迁移问题而不是编程时,可能更适合于[serverfault.com](http://serverfault.com)。 – Wiseguy

+0

感谢您指出。我希望我可以将这个问题转移到该服务器上。 –

回答

1

在WIN2K3/IIS6,你正在运行PHP作为一个ISAPI模块(线程安全的)。
在Win 7/IIS7.5,你正在运行PHP的FCGI模块(非线程安全的)。

这可能是你的问题。您不能混合和匹配线程安全(TS)/非线程安全(NTS)扩展与核心PHP。如果你只是复制了一切,你可能有TS扩展。您需要下载并使用NTS。

archive link to PHP 5.2.6 NTS

为了验证这一假设,检查其中的php.ini指定日志启动错误。如果你登录启动错误,你应该会看到类似的东西:

PHP的警告:PHP启动:GD扩展:无法初始化模块
模块与构建ID = API20041225,TS编译,VC6
PHP与版本ID = API20041225,NTS,VC6编译
这些选项需要匹配

(注意 “TS” 与 “NTS”)

希望有所帮助。如果没有,也许你会在日志中发现其他内容,指出问题所在。

+0

对不起,这么noob。我只是下载了该zip文件并将所有内容覆盖到了PHP文件夹。现在事实证明“Loaded Configuration File \t(none)”。我将文件名从“php.ini-recommended”更改为“php.ini”。配置文件也不会被加载。 :(我应该改变“FCGI”模块为“IsapiModule”?谢谢。 –

+0

FCGI vs ISAPI不是一个简单的配置更改;它是如何在IIS中设置PHP。是否曾经找到PHP日志查看是否有任何启动错误? – Wiseguy

+0

OMG。我搞砸了所有的东西。即使PHPMyAdmin现在不工作。它说:“无法加载mysql扩展。请检查您的PHP配置 - Documentation”。我现在在phpinfo()中看不到任何扩展名。运行“php.exe”,它没有显示任何错误 –