PHP7无法加载curl该怎样解决,具体方法是什么
Admin 2022-08-01 群英技术资讯 513 次浏览
为了快速救火先贴出解决办法:
#在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()
emmmmm?
出了这个模块无法加载的问题,开始我怀疑是不是../php/ext的相对路径不能这样写,但其他模块mysqli,mbstring都没有问题,排除
百度搜索一波
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}"
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Fatal Error:Allowed memory size of xxxxxx bytes exhausted 服务器很多自动任务的php脚本占用服务内存过多,并且程序不在运行了。
在本篇文章里小编给大家整理的是一篇关于如何解决php-fpm启动不了问题相关文章,有需要的朋友们可以跟着学习下。
百钱百鸡的问题具体是:公鸡5元一只,母鸡3元一只,然后小鸡元三只,花了100元买了100只鸡,问公鸡、母鸡、小鸡各买了多少只?看到这个问题,我们可能首先想到的就是一种一种进行循环列举,然后筛选符合要求,也就是所谓的穷举法。由于我们要考虑性能,所以引入一个count记录循环的次数。
swoole和rabbitmq的区别:RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。
在laravel中,依赖注入是将组件注入到应用程序中的一种行为,属于依赖的显示申明;控制反转是面向对象编程的一种设计原则,用于减低计算机代码之间的耦合度,是一个类把自己的的控制权交给另外一个对象,类间的依赖由这个对象去解决。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008