PHP加载php_curl.dll和php_openssl.dll 扩展失败的原因和终级解决方法_PHP技巧_龙虎鹰师网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP加载php_curl.dll和php_openssl.dll 扩展失败的原因和终级解决方法

作者:龙虎鹰师网安PHP教程网 来源:龙虎鹰师网安PHP教程网 浏览次数:0

本篇关键词:phpcurlopenssl
龙虎鹰师网安网讯:加载php_curl.dll和PHP 加载php_curl.dll和php_openssl.dll 扩展失败的原因和终级解决方法php_openssl.dll 龙虎鹰师网安PHP教程网|http://www.rongsen.com.cn 测试环境:PHP 5.2.8 + WINDOWS SERVER 2003 SP2 + IIS6.0今
加载php_curl.dll和PHP 加载php_curl.dll和php_openssl.dll 扩展失败的原因和终级解决方法php_openssl.dll 龙虎鹰师网安PHP教程网|http://www.rongsen.com.cn 测试环境:PHP 5.2.8 + WINDOWS SERVER 2003 SP2 + IIS6.0今天安装QQ号登录整合到网站中需要这两个扩展龙虎鹰师网安PHP教程网|http://www.rongsen.com.cn

查看phpinfo确实没有找到“curl和openssl” 配置信息开始以为 curl 和mysqli一样只是个扩展而已(因为看到PHP/EXT 文件包里有个php_curl.dll文件),只是在 php.ini里面打开了 php_curl.dll 扩展的加载,结果 iisreset 重启 IIS 后问题依旧,curl 还是没有加载成功,就纳了闷了,回去查PHP手册(不去论坛问了,问了也是让查手册,弄不好还挨顿骂。。。)
嘿嘿,终于找到原因了,看下手册里的安装说明:
安装To use PHP's cURL support you must also compile PHP --with-curl[=DIR] where DIR is the location of the directory containing the lib and include directories. In the "include" directory there should be a folder named "curl" which should contain the easy.h and curl.h files. There should be a file named libcurl.a located in the "lib" directory. Beginning with PHP 4.3.0 you can configure PHP to use cURL for URL streams --with-curlwrappers.
Note to Win32 Users: In order to enable this module on a Windows environment,libeay32.dll and ssleay32.dll must be present in your PATH. (作者注:嘿嘿,windows用户要拷贝PHP/目录下的libeay32.dll和ssleay32.dll到windows目录或 windows/system32目录下,只要是环境变量里Path变量里的路径就OK,你把PHP路径放到Path变量里也应该可以,我没做测试,因为 win2003里面PHP的php.ini在IIS里只认得WINDOWS目录,所以我把PHP.INI和这两个文件都放到C:/WINDOWS下了,测试通过)


※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
如果还是不行一定还要查看下:
拷贝到windows目录或windows/system32目录下的libeay32.dll和ssleay32.dll两个文件是否有“users”用户组的读写权限,若有配置过服务器的权限删除了的还要加上,然后重启web服务器即可。龙虎鹰师网安PHP教程网|http://www.rongsen.com.cn

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※其他参考文章:


今天突然兴起,想用一个新浪微博的同步运用。结果下个新浪微博的开发包,一试,结果报错。错误如下:
Fatal error: Call to undefined function curl_init()
一看原来是 curl没有开启,我找到php.ini  ,把 extension=php_curl.dll 前面的; (分号)去掉了,再后重启 apache ,一切正常,但刷新页面,还是报上面那个错。没道理啊,我以前也用过 curl ,而且环境也是我现在用的这个版本。
网上一搜,才发现 ,curl  还依赖于几个 .dll 库, 网上的方法如下:
方法一:
已经内置有PHP_curl.dll,在ext目录下,此DLL用于支持SSL和zlib.
在php.ini中找到有extension=php_curl.dll, 去掉前面的注释,设置extension_dir=c:\php\ext, 刷新PHP页面时报错, 说找不到模块php_curl.dll.
拷贝php_curl.dll 到windows\system32,还是同样的错. 此时需要将:

libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll
都拷贝到system32目录下,重启apache即可.龙虎鹰师网安PHP教程网|http://www.rongsen.com.cn
方法二:
这个php_curl.dll就依赖两个文件(ssleay32.dll和libeay32.dll)如果这两个文件没有配置对那么就会提示找不到此动态库,这两个文件在php的目录下面。
解决办法:在Apache的httpd.conf的文件中配置一下:
LoadFile “D:/server/php/ssleay32.dll”
LoadFile “D:/server/php/libeay32.dll”

然后重启一下apache服务就ok了。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※其他参考文章:
Win2003下IIS+PHP安装注意还有权限问题
首先解压php5.2包,如D:\PHP,添加环境变量 Pach ;D:\PHP 和 PHPRC:D:\PHP
php站点,需要同时给上级目录以读的权限。
php.ini给everyone权限。PHP目录给users读权限
设置:upload_tmp_dir = "D:\PHP\temp"
调试时,需要重读php.ini,所以CMD中:
完全停止 IIS(NET STOP iisadmin)
重新启动 IIS(NET START w3svc)

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※其他参考文章:

web安全设置(含IIS,php,ASP.NET)与目录权限设置
这些天搞网站入侵,其中碰到了星外(STAROUT)虚拟主机系统,了解它的安全性,
也碰到了一些管理员低级错误。既然老搞别人的站,那也来总结一下如何自己弄一个安全的站吧。
先说下原则:
1.web一定要用一个guests组里面的用户(USERS权限还是高了。默认IUSER_XXXX用户权限高了)。
2.web目录单独设置权限,php目录单独设置权限(PHP.EXe目录)
3.各盘一定要删除USERS组、everyone、network services用户的访问权限
4.如果是多个网站,注意分别建立账号,保证不能跨站访问。龙虎鹰师网安PHP教程网|http://www.rongsen.com.cn
================================
具体操作:
1.建立一个web账号如IIS_WEB,并加入GUESTs组中,同时去掉其他组权限(在计算机管理的用户与组里面很好设置)。
2.去掉各盘的USERS组、everyone、network services权限。
3.设置users对php的读取权限(这儿不是web的那个账号了!不然403.1拒绝访问php)。
4.设置web账号如IIS_WEB对web目录的读取权限
5.如果是mdb或者支持上传的,那单独设置这些目录的web账号如IIS_WEB写入权限。
6.如果是asp.NET,那么要对web目录加入IIS_WPG的访问权限。
==============================
以上方法借鉴了星外系统的安全性设置,同时根据入侵中找到的脆弱点吸取教训。
注意:以上如果设置不好,可能会出现401.3拒绝访问哟。
请按照步骤设置龙虎鹰师网安PHP教程网|http://www.rongsen.com.cn
    龙虎鹰师网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-19111-1.html
网站维护教程更新时间:2012-11-03 03:13:38  【打印此页】  【关闭
全站连接N点 | 龙虎鹰师网安 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。龙虎鹰师网安服务器维护基地招商进行中!请QQ:29769479