zoukankan      html  css  js  c++  java
  • [转载]IIS下开启php扩展失效? 感谢作者 本人泪流满面

    用户反应,空间不支持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:phpext目录下。于是将其修改为:
     
    extension_dir = "C:phpext"
     
    然后再试,还是不行。。。
     
    后来在网上找的一些解决方案,说要把php_gd2.dll文件放到system32目录。但事实证明,并非如此。
     
    尝试将extension_dir的设置改回“./”,并把php_gd2.dll复制到windows目录,但依然没有奏效。
     
    后来发现,phpinfo显示的extension_dir既不是“C:phpext”,也不是“./”,而是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

  • 相关阅读:
    win10补丁导致打印机无法共享
    EdgexGo2.0学习-14 EdgeX2.0 AppService导出到Mqtt
    EdgexGo2.0学习-13 EdgeX2.0 编译Appservice
    winform程序在系统缩放150%时右边留空白问题解决办法
    Linux嵌入式串口转网络
    Win10 磁盘变成文件夹
    Win10下使用Gitblit
    JMeter学习笔记——Web接口测试(webservice)
    jmeter之__RandomFromMultipleVars函数使用详解
    jmeter——参数化——$__RandomFromMultipleVars()函数
  • 原文地址:https://www.cnblogs.com/akak123/p/3693065.html
Copyright © 2011-2022 走看看