解决php7无法加载curl的问题及反思-PHP7

资源魔 58 0
本篇文章次要给各人引见处理php7无奈加载curl的成绩及反思,心愿对需求的冤家有所协助!

为了疾速救火先贴出处理方法:

#正在apache 的主设置装备摆设文件httpd.conf中退出
LoadFile "E:\myServer\php\libssh2.dll"

比来对PHP环境搭建设置装备摆设做了一些翻新的测验考试,目的就是要最年夜限制让零碎各局部愈加洁净,自力的apache、php、mysql,除了此以外没有需求更多。

正在PHP设置装备摆设文件中是能够应用绝对门路的,可互联网上你能看到的教程全副是写相对门路,例如D:\path\php\ext,如今不必了

#第732行 php.ini 7.2.3
extension_dir = "..\php\ext"

正在apache中的设置装备摆设是能够静态引入的

Include conf/user.conf
Include conf/codenight/*.conf

乃至能够应用变量

Define ROOT "E:\myServer"
Define SRV_ROOT "${ROOT}/Apache24"

以上能够处理十分多的设置装备摆设成绩,对于PHP环境搭建设置装备摆设优化,正在明天的以及之前的推送中有具体阐明,这里没有开展。

设置装备摆设优化后,PHP一切的模块都能准期加载,完满。

没有没有没有,php_curl没有行,这是apache通知咱们的

#正在..\Apache24\logs中咱们发现仅有的一条正告
PHP Warning:  PHP Startup: Unable to load dynamic library 'curl' 
(tried: ..\\php\\ext\\curl (\xef\xbf\xbd\xd2\xb2\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd6\xb8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc4\xa3\xef\xbf\xbd\xe9\xa1\xa3), ..\\php\\ext\\php_curl.dll (\xef\xbf\xbd\xd2\xb2\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd6\xb8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc4\xa3\xef\xbf\xbd\xe9\xa1\xa3)) in Unknown on line 0

那PHP的curl模块是用没有了了,咱们测试了

Fatal error: Uncaught Error: Call to undefined function curl_init()

e妹妹妹妹m?

出了这个模块无奈加载的成绩,开端我嫌疑是否是../php/ext的绝对门路不克不及这样写,但其余模块mysqli,mbstring都不成绩,扫除

baidu搜寻一波

Q: PHP Startup: Unable to load dynamic library 'curl'

没有是想要的谜底,换一种形式

Q: php7不克不及应用curl

A1:简略粗犷往httpd.conf塞四条语句

LoadFile D:/php/php7.1/php7ts.dll  
LoadFile D:/php/php7.1/libeay32.dll  
LoadFile D:/php/php7.1/ssleay32.dll  
LoadFile D:/php/php7.1/libssh2.dll

A2:其实只用加载一个便可

终极的处理形式是正在php官网上搜寻curl,而后看上面的英文评论.
Move to Windows\system32 folder:
libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll
Move to Apache24\bin folder
libssh2.dll 
我本人只是把libssh2.dll 这个文件放到Apache24\bin终于中处理。

以上这两种办法都能失效,但第一种胡乱加载有关模块太多,其实后患无量;第二种就要好患上多,有考虑以及测验考试。第二种办法提到的是把PHP目次下的一个文件libssh2.dll放到apache目次下,但挪动文件也没有合乎最小改动准则,这个还能够改良一下。

咱们采纳第三种静态加载的方法,经过正在加载curl以前引入libssh2.dll便可,同时依据咱们设置装备摆设优化的构造,只用放到自力的php7.conf文件中,也不用修正httpd.conf

第一行是咱们退出的,这样的益处是PHP的设置装备摆设正在独自的文件,没有滋扰apache主设置装备摆设文件

#..\myServer\Apache24\conf\codenight\php7.conf
#以支持curl
LoadFile "${PHP_ROOT}/libssh2.dll"
 
LoadModule php7_module "${PHP_ROOT}/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
# 设置装备摆设 php.ini所正在门路
PHPIniDir "${PHP_ROOT}"

结语

关于刚学PHP的初学者,集成环境例如wampServer、phpStudy、Xa妹妹p的确很爽,但需求警觉一切技巧上的便捷偷懒是把双刃剑,开端的捷径可能演化为荆棘之路,带来刺痛、麻木了一些初学者有限收缩。学习需求虚浮的去根究一些实质的货色。学习编程就是求真的进程。

比来不断正在折腾环境的事,就是为了能解脱对集成环境的依赖,去发明去发现,复原一条简略纯正的路,看清它原来的样子。

有时分是你的执著会让你生长,心守原力,手握神兵。

以上就是处理php7无奈加载curl的成绩及反思的具体内容,更多请存眷资源魔其它相干文章!

标签: PHP7 curl php7开发教程 php7开发资料 php7开发自学

抱歉,评论功能暂时关闭!