用户反应,空间不支持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. 部署应用程序脚本+GUIRunOnce命令

    部署应用程序脚本: 应用程序配置:运行脚本(cmd.exe): 可执行程序:cmd.exe 参数:        /c net user ppc boc.123 /add 运行方式账户: NT AUT ...

  2. VBScript连接数据库

    'access类型 dim strconn,objconn strconn="driver=microsoft access driver(*.mdb);dbq=" _ & ...

  3. Html+jquery mobile

    打开VS 2013,选择[文件]-[新建]-[项目] 选择框架为.NET Framework4-[ASP.NET MVC4 Web应用程序],点击[确定] 选择[基本],点击[确定] 创建的MVC的项 ...

  4. Android手机拨打电话的开发实例

    一部手机最常用的功能就是打电话和发短信了,在Android开发中我们如何通过程序拨打电话呢?本文就给出一个用Android手机拨打电话的简单的实例. 下面是开发此实例的具体步骤: 一.新建一个Andr ...

  5. SOA面向服务化编程架构(dubbo)

      dubbo 是阿里系的技术.并非淘宝系的技术啦,淘宝系的分布式服务治理框架式HSF啦 ,只闻其声,不能见其物.而dubbo是阿里开源的一个SOA服务治理解决方案,dubbo本身 集成了监控中心,注 ...

  6. Python学习 之 走进python

    1.Python:是一种解释型的.面向对象的.带有动态语义的高级程序设计语言. 2.Python发展阶段 —CNRI时期 —BeOpen时期 —DC时期 —Python 3.0 Python里程碑:2 ...

  7. C语言的ANSI/ISO标准

    摘自:http://see.xidian.edu.cn/cpp/html/1658.html 从技术上讲有两种C语言标准,一种来自ANSI(American National Standard Ins ...

  8. WORD神操作!第一个技巧你就傻眼了!

    原文:http://mp.weixin.qq.com/s?__biz=MzA4NzkyMDIwNw==&mid=220128483&idx=4&sn=cfa87c941f36f ...

  9. 一般php创建的文件默认不是utf-8格式的,在网上搜罗的解决办法如下:

    1.PHP本身是无编码的,所有的字符串通常都视为二进制流.因此只需要输入的字符串为Utf-8即可.若字符串采用其他编码,可以使用iconv系列函数转换编码. 2.注$content = iconv(& ...

  10. 关于设置android:imeOptions属性无效的解决办法

    在对Android的EditText控件进行设置时,经常会限定一下输入法的属性,设置右下角为完成或者搜索等,一般都会想到android:imeOptions属性,但是仅仅这么设置通常是无效的,还要搭配 ...