IIS下开启php扩展失效? IIS下开启php扩展gd2失效?
2016-03-21 10:52
162 查看
IIS下开启php扩展失效? 2012-08-27 17:23:09 http://blog.chinaunix.net/uid-20344928-id-3328547.html分类: Python/Ruby用户反应,空间不支持GD。系统环境是IIS PHP。 先用phpinfo探了一下,确实没有找到gd的影子。然后检查php.ini,发现gd扩展没有开启(windows下安装的php,其所有php扩展默认都处于关闭状态)。于是删除extension=php_gd2.dll前面的注释符号,然后重新跑phpinfo,发现还是没有gd。 后来看到,在php.ini关闭\开启扩展的设置上面,有这样一句话: ; Be sure to appropriately set the extension_dir directive. 看来除了取消extension=php_gd2.dll的注释外,还要设置extension_dir。查看当前设置的是当前目录(即php.ini所在目录): extension_dir = "./" 这明显是不对的。因为php.ini是放在c:\windows目录下,而php_gd2.dll一类的dll文件是放在C:\php\ext目录下。于是将其修改为: extension_dir = "C:\php\ext" 然后再试,还是不行。。。 后来在网上找的一些解决方案,说要把php_gd2.dll文件放到system32目录。但事实证明,并非如此。 尝试将extension_dir的设置改回“./”,并把php_gd2.dll复制到windows目录,但依然没有奏效。 后来发现,phpinfo显示的extension_dir既不是“C:\php\ext”,也不是“./”,而是c:\php5。看来这才是症结所在。 于是再确认一次extension_dir的设置,没有发现问题。 后来一想,会不会是系统中存在多个php.ini,而我修改的并不是系统所加载的php.ini。于是用phpinfo查看当前加载的php.ini,发现系统定义的php.ini路径是c:\windows没错,但系统加载的php.ini竟然是none:
难道是php.ini文件的权限问题。于是尝试为其添加everyone的读取\执行权限,然后重试,发现php.ini可以正常被加载了:
难道是php.ini文件的权限问题。于是尝试为其添加everyone的读取\执行权限,然后重试,发现php.ini可以正常被加载了:
extension_dir也随之生效: 而且gd也显示支持了: |
综上,当IIS下开启php扩展失效时,可以检查以下几点:1、php.ini里是否有开启对应的扩展;2、extension_dir设置的目录是否正确,以及该目录下是否有对应的dll文件;3、php.ini文件是否有开通everyone读取\执行的权限。 |
相关文章推荐
- 解决PHP生成校验码时“图像因其本身有错无法显示”的错误
- phpmyadmin然后点击左侧进入mysql数据库,在顶部点击“mysql”进入sql输入界面。输入以下命令
- 谁来详细介绍下php的zend加密啊?
- PHP错误报告等级设置 ,不再着ERROR的道
- PHP大小写:函数名和类名不区分,变量名区分
- PHP:Notice: Undefined index: submit in
- 《利用phpmyadmin修改mysql的root密码》
- phpmyadmin 密码(如何修改phpmyadmin 密码)
- phpmyadmin新加用户登陆不了,测试解决方案
- {dede:php}{/dede:php}另外一个是{dede:sql}标签详解
- 《IIS下运行PHP的方法》
- 解决PHP生成校验码时“图像因其本身有错无法显示”的错误
- php图片验证码,为什么非要加上ob_clean();这句话才能正常显示呢?
- error_reporting() 设置 PHP 的报错级别并返回当前级别。
- 如何编译安装PHP扩展
- dede后台登陆出现include\\userlogin.class.php on line 21 怎么解决
- php防止短时间内重复提交。
- PHP fsockopen函数详解
- 解决织梦 \\include\\userlogin.class.php on line 21 报错的方法
- 细说PHP中strlen和mb_strlen的区别