解决PHP开启gd库无效的问题
最近需要重新安装PHP,以前一直使用的都是XAMPP,基本上都不需要自己配置,现在准备直接下载官方原版的Apache和PHP,自己来慢慢摸索如何继承配置。
我下载的Apache版本为2.2.25,PHP版本为5.4.19,将Apache与PHP集成配置好后(PHP安装目录为:F:\php5.4.19),记得PHP默认没有开启GD库的支持,需要自行开启。于是就打开PHP安装目录/php.ini配置文件,找到如下内容:
;extension=php_gd2.dll
按照网上搜索得来的方法,去掉前面表示注释的符号";",然后重新启动Apache服务器,结果发现还是不行,通过phpinfo()函数仍然无法看到任何与GD库相关的信息。看到网上很多关于「PHP开启GD库」的文章,都是直接说一句「去掉xxx前面的分号」,就没有下文了。事实证明,仅仅这么做明显是不行的,至少官方zip版本的php这么配置是不行的。
于是就只好自己检查php.ini的配置内容,最后发现其中有如下一行:
;extension_dir = "ext"
很明显,extension_dir指令被注释掉了,导致php连扩展库的文件夹ext都找不到,自然不可能找到扩展库中的php_gd2.dll了,gd库支持自然也没有开启。
于是,照猫画虎地去掉extension_dir指令前面的注释符号";",再次重启服务器,结果……还是不行。这不科学啊,难道extension_dir指令的值"ext"有问题?最后在php官方文档查询得知如下图:
extension_dir指令的官方说明
PHP官方说,PHP5搜索扩展库的默认位置为C:\php5,于是尝试着按照官方的说法,仍然让extension_dir保持被注释掉的现状,在C盘下新建了一个php5文件夹,然后将php_gd2.dll复制进去,再次重新启动服务器,结果……还是不行。
此时,通过phpinfo()函数查看得知,在php.ini中没有开启extension_dir指令时,phpinfo()上的extension_dir显示的值居然是C:\php——难道官方的说明文档也出错了,或者说PHP 5.4这个版本已经作了变更、而官方文档还没有及时更新?其他的先不管那么多了,先试试C:\php行不行,于是将php5重命名为php,其他一切照旧,接着重新启动服务器,然后通过phpinfo()函数查看到gd库已经开启了。——这至少证明,在PHP 5.4.19中,扩展库的默认搜索位置为C:\php。
当然,众所周知,extension_dir指令是支持绝对路径的,上面折腾半天,主要是为了搞明白extension_dir指令的作用与影响。最后还是将extension_dir前面的注释符号";"去掉,然后将其值改为ext文件夹的绝对路径,详细代码如下:
extension_dir = "F:/php5.4.19/ext"
综上所述,对于php官方版而言,要开启gd库支持,不仅要去掉extension=php_gd2.dll前的注释符号,还要去掉extension_dir指令前的注释符号,并将其值作对应修改。当然,不仅仅是gd库,如果需要开启其他PHP扩展库,例如php_mysql、php_mysqli,方法也是类似的。
解决PHP开启gd库无效的问题的更多相关文章
- php如何开启GD库
GD库是干什么用的呢!它是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片.GD库在php中默认是没有开启的,如果想让它支持图片处理功能,那么就要手 ...
- php中如何开启GD库
php中开启GD库 在浏览器输入启用wamp下的GD库(否则验证码可能不能用) D:\lamp\php\php.ini 文件
- 检查服务器是否开启GD库
1.把以下代码复制到记事本中并保存成A.php<?phpOb_end_flush();header ("Content-type: image/png");$im = @im ...
- Windows环境下php开启GD库的方法
一.GD库是什么? GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片,也可以给图片加水印.在网站上GD库通常用来生成缩略图,或者用来对图片加 ...
- CentOS 开启GD库
在php.ini 中没有找到"extension=php_gd2.dll"这行代码,这是因为CentOS一般没有预装GD库. 解决办法: 1.在线安装GD库 yum -y inst ...
- dedecms安装操作-重安装-开启GD库
wamp5_1.7.4 打开:http://localhost/install/安装 (输入:域名/install,回车跳转到安装界面,勾选“我已经阅读并同意此协议”,然后点击“继续按钮”.) 重安装 ...
- PHP配置环境中开启GD库
下配置好的PHP环境中,GD库不像windows那样可以直接用,而是默认关闭,需要把它打开,去到php.ini文件中 找到php_gd2.dll把分号去掉即可.(注:GD库跟绘制二维码等有关)
- 安装GD库解决ThinkPHP 验证码Call to undefined function Think\imagecreate()出错
在php中imagecreate函数是一个图形处理函数,主要用于新建一个基于调色板的图像了,然后在这个基础上我们可以创建一些图形数字字符之类的,但这个函数需要GD库支持,如果没有开启GD库使用时会提示 ...
- gd库
1.开启GD库扩展 去掉注释: extension=php_gd2.dll extension_dir='ext目录所在位置' 2.检测GD库是否开启 phpinfo(); //检测扩展是够开启 ex ...
随机推荐
- Redis 二:入门基本篇
.多数据库设置 - ,代表16个数据库 .glob风格通配符 keys * 返回所有 keys ba? 返回 bar keys b[a-z][a-z] 返回btt bar \x 匹配转义字符 .判断一 ...
- Java中如何防止内存泄漏的发生
在Java开发中我们常常会遇到内存泄漏的情况发生.那么为什么会发生内存泄漏,以及怎样去防止! 内存泄漏的定义:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着. 为什么会发生 ...
- hbase meta表修复
meta表修复一 查看hbasemeta情况hbase hbck1.重新修复hbase meta表(根据hdfs上的regioninfo文件,生成meta表)hbase hbck -fixMeta2. ...
- 使用ASP.NET注册工具aspnet_regiis.exe注册IIS
该工具的名称为aspnet_regiis.exe,在32位机上,该工具存在于C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,在64位机中“Framework ...
- listview中getview异步加载网络图片
前言:本以为异步加载挺简单,因为网上代码多,但真想要做好,还真不那么简单,从看代码到弄懂再到自己写,实在是有太多的东西需要学了,用了两天的时间,终于弄出来了,因为用到回调函数,所以理解起来可能难度有点 ...
- .NET 轻松实现HTML的绝对过滤之SafeHelper
当今网页中经常使用到网页编辑器,因为人们需要在网页中插入图片,视频,样式等html代码内容,这使得网页的信息更加丰富.随之而来的,也给程序开发者带来了不少麻烦,因为提交的html中难免会出现不安全标记 ...
- 【BZOJ】【1324】王者之剑
网络流/二分图最大点权独立集 Amber(胡伯涛)论文<最小割模型在信息学竞赛中的应用>中的例题…… 感觉这个好神啊,果然是一切皆为网络流……这转化太神奇了 /************** ...
- 错误:没有为扩展名“.html”注册的生成提供程序。
没有为扩展名“.html”注册的生成提供程序.可以在 machine.config 或 web.config 中的 <compilation><buildProviders> ...
- uva 11609
可以想到 答案为 1*C(1,n)+2*C(2,n)+3*C(3,n)+....+n*C(n,n); 由公式 k*C(k,n) = n*C(k-1,n-1) 所以最终答案 n*2^(n-1) 用到快速 ...
- PHP 性能分析与实验(二)——PHP 性能的微观分析
[编者按]此前,阅读过了很多关于 PHP 性能分析的文章,不过写的都是一条一条的规则,而且,这些规则并没有上下文,也没有明确的实验来体现出这些规则的优势,同时讨论的也侧重于一些语法要点.本文就改变 P ...