Maison développement back-end PHP7 Comment résoudre le problème selon lequel php7 ne peut pas charger curl

Comment résoudre le problème selon lequel php7 ne peut pas charger curl

Jun 02, 2021 am 09:13 AM
curl php7

本篇文章给大家介绍一下解决php7无法加载curl的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

Comment résoudre le problème selon lequel php7 ne peut pas charger curl

为了快速救火先贴出解决办法:

#在apache 的主配置文件httpd.conf中加入
LoadFile "E:\myServer\php\libssh2.dll"
Copier après la connexion

最近对PHP环境搭建配置做了一些创新的尝试,目的就是要最大限度让系统各部分更加干净,独立的apache、php、mysql,除此之外不需要更多。

在PHP配置文件中是可以使用相对路径的,可互联网上你能看到的教程全部是写绝对路径,例如D:\path\php\ext,现在不用了

#第732行 php.ini 7.2.3
extension_dir = "..\php\ext"
Copier après la connexion

在apache中的配置是可以动态引入的

Include conf/user.conf
Include conf/codenight/*.conf
Copier après la connexion

甚至可以使用变量

Define ROOT "E:\myServer"
Define SRV_ROOT "${ROOT}/Apache24"
Copier après la connexion

以上可以解决非常多的配置问题,关于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
Copier après la connexion

那PHP的curl模块是用不了了,我们测试了

Fatal error: Uncaught Error: Call to undefined function curl_init()
Copier après la connexion

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
Copier après la connexion

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终于中解决。
Copier après la connexion

以上这两种方法都能生效,但第一种胡乱加载无关模块太多,其实后患无穷;第二种就要好得多,有思考和尝试。第二种方法提到的是把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}"
Copier après la connexion

推荐学习:php视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment réaliser la conversion mutuelle entre les requêtes CURL et python en python Comment réaliser la conversion mutuelle entre les requêtes CURL et python en python May 03, 2023 pm 12:49 PM

curl et Pythonrequests sont des outils puissants pour envoyer des requêtes HTTP. Alors que curl est un outil de ligne de commande qui vous permet d'envoyer des requêtes directement depuis le terminal, la bibliothèque de requêtes de Python fournit un moyen plus programmatique d'envoyer des requêtes à partir du code Python. La syntaxe de base pour convertir curl en commande Pythonrequestscurl est la suivante : curl[OPTIONS]URL Lors de la conversion de la commande curl en requête Python, nous devons convertir les options et l'URL en code Python. Voici un exemple de commande curlPOST : curl-XPOST https://example.com/api

Tutoriel sur la mise à jour de la version curl sous Linux ! Tutoriel sur la mise à jour de la version curl sous Linux ! Mar 07, 2024 am 08:30 AM

Pour mettre à jour la version curl sous Linux, vous pouvez suivre les étapes ci-dessous : Vérifiez la version actuelle de curl : Tout d'abord, vous devez déterminer la version de curl installée dans le système actuel. Ouvrez un terminal et exécutez la commande suivante : curl --version Cette commande affichera les informations sur la version actuelle de curl. Confirmer la version curl disponible : Avant de mettre à jour curl, vous devez confirmer la dernière version disponible. Vous pouvez visiter le site officiel de curl (curl.haxx.se) ou des sources de logiciels associées pour trouver la dernière version de curl. Téléchargez le code source de curl : à l'aide de curl ou d'un navigateur, téléchargez le fichier de code source pour la version curl de votre choix (généralement .tar.gz ou .tar.bz2).

Du début à la fin : Comment utiliser l'extension php cURL pour effectuer des requêtes HTTP Du début à la fin : Comment utiliser l'extension php cURL pour effectuer des requêtes HTTP Jul 29, 2023 pm 05:07 PM

Du début à la fin : Comment utiliser l'extension php cURL pour les requêtes HTTP Introduction : En développement web, il est souvent nécessaire de communiquer avec des API tierces ou d'autres serveurs distants. Utiliser cURL pour effectuer des requêtes HTTP est un moyen courant et puissant. Cet article expliquera comment utiliser PHP pour étendre cURL afin d'effectuer des requêtes HTTP et fournira quelques exemples de code pratiques. 1. Préparation Tout d'abord, assurez-vous que l'extension cURL est installée sur php. Vous pouvez exécuter php-m|grepcurl sur la ligne de commande pour vérifier

Sortie de PHP8.1 : introduction de curl pour le traitement simultané de plusieurs requêtes Sortie de PHP8.1 : introduction de curl pour le traitement simultané de plusieurs requêtes Jul 08, 2023 pm 09:13 PM

PHP8.1 publié : présentation de curl pour le traitement simultané de plusieurs requêtes. Récemment, PHP a officiellement publié la dernière version de PHP8.1, qui a introduit une fonctionnalité importante : curl pour le traitement simultané de plusieurs requêtes. Cette nouvelle fonctionnalité offre aux développeurs un moyen plus efficace et plus flexible de gérer plusieurs requêtes HTTP, améliorant ainsi considérablement les performances et l'expérience utilisateur. Dans les versions précédentes, la gestion de plusieurs requêtes nécessitait souvent de créer plusieurs ressources curl et d'utiliser des boucles pour envoyer et recevoir des données respectivement. Bien que cette méthode puisse atteindre l'objectif

Comment gérer la redirection 301 des pages web en PHP Curl ? Comment gérer la redirection 301 des pages web en PHP Curl ? Mar 08, 2024 am 11:36 AM

Comment gérer la redirection 301 des pages web dans PHPCurl ? Lorsque vous utilisez PHPCurl pour envoyer des requêtes réseau, vous rencontrerez souvent un code d'état 301 renvoyé par la page Web, indiquant que la page a été redirigée définitivement. Afin de gérer correctement cette situation, nous devons ajouter des options spécifiques et une logique de traitement à la requête Curl. Ce qui suit présentera en détail comment gérer la redirection 301 des pages Web dans PHPCurl et fournira des exemples de code spécifiques. Principe de traitement de la redirection 301 La redirection 301 signifie que le serveur renvoie un 30

qu'est-ce que Linux Curl qu'est-ce que Linux Curl Apr 20, 2023 pm 05:05 PM

Sous Linux, curl est un outil très pratique pour transférer des données vers et depuis le serveur. Il s'agit d'un outil de transfert de fichiers qui utilise des règles d'URL pour fonctionner sous la ligne de commande ; il prend en charge le téléchargement et le téléchargement de fichiers et constitue un outil de transfert complet. Curl fournit de nombreuses fonctions très utiles, notamment l'accès proxy, l'authentification des utilisateurs, le téléchargement et le téléchargement FTP, HTTP POST, la connexion SSL, la prise en charge des cookies, la reprise du point d'arrêt, etc.

Comment installer l'extension mongo dans php7.0 Comment installer l'extension mongo dans php7.0 Nov 21, 2022 am 10:25 AM

Comment installer l'extension mongo dans php7.0 : 1. Créez le groupe d'utilisateurs et l'utilisateur mongodb ; 2. Téléchargez le package de code source mongodb et placez le package de code source dans le répertoire "/usr/local/src/" ; Entrez le répertoire « src/ » ; 4. Décompressez le package de code source ; 5. Créez le répertoire de fichiers mongodb ; 6. Copiez les fichiers dans le répertoire « mongodb/ » 7. Créez le fichier de configuration mongodb et modifiez la configuration.

Comment résoudre le problème lorsque php7 détecte que le port TCP ne fonctionne pas Comment résoudre le problème lorsque php7 détecte que le port TCP ne fonctionne pas Mar 22, 2023 am 09:30 AM

En php5, nous pouvons utiliser la fonction fsockopen() pour détecter le port TCP. Cette fonction peut être utilisée pour ouvrir une connexion réseau et effectuer certaines communications réseau. Mais en php7, la fonction fsockopen() peut rencontrer certains problèmes, comme ne pas pouvoir ouvrir le port, ne pas pouvoir se connecter au serveur, etc. Afin de résoudre ce problème, nous pouvons utiliser la fonction socket_create() et la fonction socket_connect() pour détecter le port TCP.

See all articles