免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5755 | 回复: 6
打印 上一主题 下一主题

为何不复制php_gd2.dll到系统目录下也可以成功执行gd库? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-06 11:03 |只看该作者 |倒序浏览
日前配置Apache 2.2.4+php 5.2.4+mysql 5.0.4时碰到一个以前没有注意过的问题:
以前我都是将php_gd2.dll复制到c:\windows\system32目录下,几乎所有的安装教程都写着要将此dll文件复制到系统目录下才能成功执行gd库,但这次我没有将这个dll文件复制到系统目录下,只是在php.ini中去掉了此项前面的分号而已,但经测试,这样子也没事,同样成功画图,这是为何,在网上找来找去的也没找到类似答案,这复制与不复制有何区别呢?目前来看没有什么区别啊,但教程上都说要将此dll文件复制到系统目录下才能成功执行gd库,但实际情况是即使不复制此dll文件同样成功执行gd库,在php 4.4.7下测试也是可以的。

另外,php5默认不支持mysql,教程上都说要将php5ts.dll和php_mysql.dll复制到系统目录下才能支持mysql(当然php.ini文件中相应选项前应去掉分号),但我测试,没将这两个dll文件复制到系统目录下,同样成功支持mysql,不过必须要将libmysql.dll复制到系统目录下,否则不会支持mysql的,就只需复制libmysql.dll这个文件啊,其余的什么都不用复制,晕,搞晕了,虽然网上类似的安装配置教程多如牛毛,但好好去看,发现很多都是过时的配置方法(只适用于旧版本),我在配置时就是走了很多的弯路,等到明白时,发现配置太简单了(当然只是针对本地测试),只是对于上面的现象始终不能理解,所以很想搞明白原理何在,而不是仅仅是知道方法。

还有,我现在没有条件安装Linux,很想知道在最新版的Linux上安装配置Apache 2.2.4+php 5.2.4+mysql 5.0.4是如何进行的?网上的安装教程很多,但我说过,很多都是只适应旧版本的,而新版本的安装配置方法往往有所不同,我又没有条件安装Linux来加以测试,所以恳请哪位能推荐一下适应新版本的Linux下安装配置Apache 2.2.4+php 5.2.4+mysql 5.0.4的详细方法,最好是测试通过的,我真的不想走弯路了,这纯属浪费时间。

论坛徽章:
0
2 [报告]
发表于 2007-09-06 13:09 |只看该作者
当你去掉PHP.INI中的GD前的分号后,重新启动APACHE,看看提示在什么路径下找不到GD.DLL文件,你只要把GD.DLL烤到其中的一个路径中就可以了。

论坛徽章:
0
3 [报告]
发表于 2007-09-06 13:49 |只看该作者
那些东西只要放到系统环境变量中就可以 ,具体什么位置无所谓

在WIN下配置PHP环境的时候最好不要把东西堆到WINDOWS文件夹下 .

关于环境变量 ,PHP.INI中有提示 .

论坛徽章:
0
4 [报告]
发表于 2007-09-06 13:51 |只看该作者
php_gd2.dll是放在php安装目录下的ext目录中的,你的php.ini中肯定配置过扩展路径,那些extensions就是。你可以看看ext目录下的那些dll就明白了。
需要复制到system32下的只有两个dll而已,ext是不需要动的,复制也是多余。

论坛徽章:
0
5 [报告]
发表于 2007-09-06 13:59 |只看该作者
再仔细看了一遍你的问题,发现你看的教程完全的误导啊!
以前常用的比较不通用的方法:
1、复制php5ts.dll和libmysql.dll到system32目录下,只有这两个核心的dll需要复制;
2、其他所有ext目录下的扩展dll包括:mysql、mysqli、pdo、gd2等这些东西都不要动,只需要修改php.ini中的扩展目录:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "php安装路径\ext"
然后就可以了,需要打开什么扩展只需要取消extension前面的分号,php会自动到这个ext目录下来寻找相对应的dll文件。


现在php5推荐的安装方法是连复制到系统目录下都不需要,直接把路径添加到计算机的系统环境变量中。

论坛徽章:
0
6 [报告]
发表于 2007-09-06 15:03 |只看该作者
谢谢楼上诸位的热心指点,很多教程的确是误导新手,看的太多反而无所适从了,不过我还是不明白:
我并没有把php5ts.dll复制到system32目录下,但事实上运行无误,这是为何?

我只将libmyslq.dll复制到system32目录下,经过反复测试,如果不把此dll文件复制到system32目录下Apache 2.2.4就不会支持mysql数据库,复制到system32目录下就可以。

以前我一直都是这样做的,将php_gd2.dll及php4ts.dll两个都复制到system32目录下(以前都是用php 4.4.7),因为几乎所有的教程都是这样写着的,现在看来无必要这样做了。

还有,在新版的Linux下如何配置Apache 2.2.4+php 5.2.4+mysql 5.0.4啊?还望哪位推荐一下,我说过,我暂没没有条件安装Linux,网上也有很多类似的教程,但很多都是过时的(只适用于旧版本),我想知道在新版本下是如何配置的,希望自己少走弯路,发现很多新手光是在安装配置方法都要浪费不少时间,希望自己尽量少走弯路,这有待于大家的指点,谢谢。

论坛徽章:
0
7 [报告]
发表于 2007-09-07 13:10 |只看该作者
最好把libmyslq.dll复制到Apache下的Bin目录下。保持system32干净。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP