解决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 ...
随机推荐
- mapreduce 实现pagerank
输入格式: A 1 B,C,D B 1 C,Dmap: B A 1/3 C A 1/3 D A 1/3 A |B,C,D C B 1/2 D B 1/2 B |C,Dreduce: B (1-0.85 ...
- WCF-Configuration
Host-Configuration <?xml version="1.0"?> <configuration> <configSections> ...
- ZOJ 3229 有上下界最大流
1: /** 2: ZOJ 3229 有上下界的最大流 3: 两次求最大流的过程,非二分 4: 有源汇上下界的最大流问题, 首先连接 sink -> src, [0,INF]. 5: 根据net ...
- iOS 进阶 第八天(0407)
0407 UIPickerView.UIDatePicker和UIToolBar请参见视频和代码 pch文件 #ifdef __OBJC__ //在这里面写oc的引用,比如一些oc的头文件或者NSLo ...
- 第二章 Spring MVC入门
2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职 ...
- Converting Storyboard from iPhone to iPad
I found out a kind of solution: Duplicate your iPhone-Storyboard and rename it MainStoryboard_iPad.s ...
- DB天气app冲刺二阶段第四天
今天就进度来说没有丝毫进度..考虑直接把数据库文件弄到代码里.因为每次挑选城市的时候都有时会出bug ,所以我想明天试一下看看是不是这个的问题,虽然工程量有点大,但是应该不困难,所以明天试一下需要. ...
- 【经验】Angularjs 中使用 layDate 日期控件
layDate 控件地址:http://laydate.layui.com/ 前情:原来系统中使用的日期控件是UI bootstrap(地址:https://angular-ui.github.io/ ...
- HTML特殊转义字符对照表
字符 十进制 转义字符 字符 十进制 转义字符 字符 十进制 转义字符 ? ¡ ¡ Á Á Á á á á ¢ ¢ ¢ Â Â ˆ â â £ £ £ Ã Ã Ã ã ã ã ¤ ¤ ¤ Ä Ä &a ...
- 当IIS挂的网站出现选 图片文件, 静态文件都打不开时, 可以试试新建一个应用程序池试试看...
当IIS挂的网站出现选 图片文件, 静态文件都打不开时, 可以试试新建一个应用程序池试试看...