php7에서 컬을 로드할 수 없는 문제를 해결하는 방법
本篇文章给大家介绍一下解决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()
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}"
推荐学习:php视频教程
위 내용은 php7에서 컬을 로드할 수 없는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











컬과 Pythonrequests는 모두 HTTP 요청을 보내는 강력한 도구입니다. 컬은 터미널에서 직접 요청을 보낼 수 있는 명령줄 도구인 반면, Python의 요청 라이브러리는 Python 코드에서 요청을 보내는 보다 프로그래밍적인 방법을 제공합니다. 컬을 Pythonrequestscurl 명령으로 변환하는 기본 구문은 다음과 같습니다. 컬[OPTIONS]URL 컬 명령을 Python 요청으로 변환할 때 옵션과 URL을 Python 코드로 변환해야 합니다. 다음은 컬POST 명령의 예입니다: 컬-XPOST https://example.com/api

Linux에서 컬 버전을 업데이트하려면 다음 단계를 따르세요. 현재 컬 버전을 확인하세요. 먼저 현재 시스템에 설치된 컬 버전을 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다. 컬 --version 이 명령은 현재 컬 버전 정보를 표시합니다. 사용 가능한 컬 버전 확인: 컬을 업데이트하기 전에 사용 가능한 최신 버전을 확인해야 합니다. 최신 버전의 컬을 찾으려면 컬의 공식 웹사이트(curl.haxx.se)나 관련 소프트웨어 소스를 방문하세요. 컬 소스 코드 다운로드: 컬 또는 브라우저를 사용하여 선택한 컬 버전의 소스 코드 파일(일반적으로 .tar.gz 또는 .tar.bz2)을 다운로드합니다.

처음부터 끝까지: HTTP 요청에 PHP 확장 cURL을 사용하는 방법 소개: 웹 개발에서는 종종 타사 API 또는 기타 원격 서버와 통신해야 합니다. cURL을 사용하여 HTTP 요청을 하는 것은 일반적이고 강력한 방법입니다. 이 기사에서는 PHP를 사용하여 cURL을 확장하여 HTTP 요청을 수행하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다. 1. 준비 먼저 php에 cURL 확장이 설치되어 있는지 확인하세요. 명령줄에서 php-m|grepcurl을 실행하여 확인할 수 있습니다.

PHP8.1 출시: 여러 요청의 동시 처리를 위한 컬 소개 최근 PHP는 여러 요청의 동시 처리를 위한 컬이라는 중요한 기능을 도입한 최신 버전의 PHP8.1을 공식 출시했습니다. 이 새로운 기능은 개발자에게 여러 HTTP 요청을 처리하는 보다 효율적이고 유연한 방법을 제공하여 성능과 사용자 경험을 크게 향상시킵니다. 이전 버전에서는 여러 요청을 처리하려면 여러 컬 리소스를 만들고 루프를 사용하여 각각 데이터를 보내고 받아야 하는 경우가 많았습니다. 이 방법으로 목적을 달성할 수는 있지만

PHPCurl에서 웹 페이지의 301 리디렉션을 처리하는 방법은 무엇입니까? PHPCurl을 사용하여 네트워크 요청을 보낼 때 웹 페이지에서 반환된 301 상태 코드를 자주 접하게 되는데, 이는 페이지가 영구적으로 리디렉션되었음을 나타냅니다. 이 상황을 올바르게 처리하려면 Curl 요청에 몇 가지 특정 옵션과 처리 논리를 추가해야 합니다. 다음은 PHPCurl에서 웹페이지의 301 리디렉션을 처리하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 301 리디렉션 처리 원칙 301 리디렉션은 서버가 30을 반환한다는 의미입니다.

Linux에서 컬은 서버와 데이터를 전송하는 매우 실용적인 도구입니다. 이는 명령줄에서 작동하는 URL 규칙을 사용하는 파일 전송 도구이며, 포괄적인 전송 도구입니다. Curl은 프록시 액세스, 사용자 인증, FTP 업로드 및 다운로드, HTTP POST, SSL 연결, 쿠키 지원, 중단점 재개 등 매우 유용한 기능을 많이 제공합니다.

php7.0에서 mongo 확장을 설치하는 방법: 1. mongodb 사용자 그룹 및 사용자를 생성합니다. 2. mongodb 소스 코드 패키지를 다운로드하고 소스 코드 패키지를 "/usr/local/src/" 디렉터리에 넣습니다. "src/" 디렉터리를 입력합니다. 4. 소스 코드 패키지의 압축을 풉니다. 5. mongodb 파일 디렉터리를 생성합니다. 6. "mongodb/" 디렉터리에 파일을 복사합니다. 7. mongodb 구성 파일을 생성하고 구성을 수정합니다.

php5에서는 fsockopen() 함수를 사용하여 TCP 포트를 감지할 수 있습니다. 이 기능은 네트워크 연결을 열고 일부 네트워크 통신을 수행하는 데 사용할 수 있습니다. 그러나 php7에서는 fsockopen() 함수에 포트를 열 수 없거나 서버에 연결할 수 없는 등의 몇 가지 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해, 우리는 소켓_create() 함수와 소켓_연결() 함수를 사용하여 TCP 포트를 감지할 수 있습니다.
