用户反应,空间不支持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可以正常被加载了:
 

extension_dir也随之生效:

而且gd也显示支持了:

 

综上,当IIS下开启php扩展失效时,可以检查以下几点:

1、php.ini里是否有开启对应的扩展;

2、extension_dir设置的目录是否正确,以及该目录下是否有对应的dll文件;

3、php.ini文件是否有开通everyone读取\执行的权限。

转载自:wwmshe的ChinaUnix博客

http://blog.chinaunix.net/uid-20344928-id-3328547.html

[转载]IIS下开启php扩展失效? 感谢作者 本人泪流满面的更多相关文章

  1. 在lnmp下开启fileinfo扩展 Ubuntu系统

    在lnmp下开启fileinfo扩展 Ubuntu系统 1.进入目录下 cd /usr/local/lnmp1.4-full/src/php-5.6.31/ext/fileinfo 2.phpize处 ...

  2. 安全提示:IIS不要开启“WebDAV”扩展(转载)

    在IIS设置里,有一个“Web服务扩展”的设置,其中包括“WebDAV”扩展.许多人都不明白,这个“WebDAV”扩展是干嘛用的,要不要开启呢?有不少人的想法是“开启吧,以免影响网站运行,启用总比不启 ...

  3. windows下开启 PHP扩展Redis

    Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  4. 转载Linux下开启MySQL日志

    转载https://blog.csdn.net/weixin_38187469/article/details/79273962 开启mysql日志   1.查看日志是否启用 mysql> sh ...

  5. mac下开启phpredis扩展

    下载 官网下载php合适的版本:http://pecl.php.net/package/redis 这里我的php版本:7.1.23,下载的phpredis版本:5.0.0 配置安装 解包.重命名 s ...

  6. IIS下安装memcached管理工具—MemAdmin

    1.先看这篇文章 http://www.cnblogs.com/joylee/archive/2013/01/07/memadmin.html . 2.在IIS下安装的php-cgi.exe程序版本为 ...

  7. php5.6.30开启redis扩展

    注:5.6版本的php一定要下载phpredis3.0以上的版本,之前自己下载用的2.2.4的redis,安装配置完成后,PHP死活不支持redis的扩展,通过phpinfo打印也压根看不到,重复服务 ...

  8. Linux 下安装 Memcached 和 PHP 开启 Memcached 扩展

    [项目背景]:阿里云ECS服务器,Linux(centos7.2 64位),环境部署使用的是阿里云一键安装包(LAMP)等 [项目需求]:linux安装memcached 和php开启Memcache ...

  9. windows下PHP不能开启pgsql扩展的解决方法

    Tip: 环境 windows8.1 64位 + xampp1.8.1 + postgresql 9.3.6-2 第一步: php.ini中开启pgsql扩展  extension=php_pgsql ...

随机推荐

  1. Hadoop 2.4.0全然分布式平台搭建、配置、安装

    一:系统安装与配置 虚拟机软件:Virtualbox 4.3.10(已安装对应扩展包) 虚拟机:Ubuntu 13.04 LTS 32位(至于为什么选择13.04,是由于最新的版本号装上后开机会出现错 ...

  2. 发现一个挺好用的adb logcat工具

    其实是个Notepad++插件 直接贴地址: [http://sourceforge.net/projects/androidlogger/] ============================ ...

  3. 关于Vim的问题s

    2013-11-23 17:29:45 1.关于.swp文件 swap对于保护非正常退出是有好处的,但从最开始使用vim就发现的一个问题十分恼火!非正常退出再进入后选择了恢复R,然后编辑正常保存正常退 ...

  4. BZOJ 1968: [Ahoi2005]COMMON 约数研究 水题

    1968: [Ahoi2005]COMMON 约数研究 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeO ...

  5. TreeView节点拖拉操作

    //这个拖拽的感觉不对     unit Unit1;interfaceuses  Windows, Messages, SysUtils, Classes, Graphics, Controls, ...

  6. iOS开发——设备篇&ios8文件路径

    ios8文件路径 1,之前版本的(比如iOS7)的文件路径如下:  app路径  /var/mobile/Applications/59C84B75-0900-43D6-AD6F-AB9731F064 ...

  7. 关于try...catch...finally中return的疑惑

    原文:http://www.cnblogs.com/and_he/archive/2012/04/17/2453703.html 关于try...catch...finally里面的return一直是 ...

  8. Java中jar命令详解

    做项目的时候我们肯定接触过很多jar包,那么jar包是什么呢?笔者了解到jar是java archive file 的简写.从名字就可以知道,它的应用与Java息息相关.下面就详细介绍如何自己生成ja ...

  9. 纯JS操作服务器绑定控件(Repeat)实现表头升降排序

    JS实现功能 var obj = function (id) { return "string" == typeof id ? document.getElementById(id ...

  10. Android(java)学习笔记72:线程的状态转换图以及常见执行情况

    1. 线程的状态转换图以及常见执行情况: 2. 线程状态类型: (1)新建状态(New):新创建了一个线程对象.(2)就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start() ...