


Bei Verwendung der PHP-Curl-Funktion wird die Meldung „Warnung: curl_setopt() [function.curl-setopt]: CURLO...So beheben Sie den Fehler' angezeigt
Wenn Sie CURLOPT_FOLLOWLOCATION in PHP ausführen und dann die PHP-Prompt-Fehlermeldung erhalten:
Warnung: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION kann nicht aktiviert werden, wenn im Safe_mode oder ein open_basedir eingestellt ist …
Der Fehler erwähnt zwei wichtige Dinge: „safe_mode“ und „open_basedir“. Wenn Sie ein virtueller Host sind und keine Berechtigung zum Festlegen von APPCHE haben, können Sie das Problem nicht durch Ändern der Serverkonfiguration lösen Serverkonfiguration Safe_Mode Alle sind deaktiviert, und dann gibt es einige Einschränkungen für Benutzer, um die Sicherheit zu gewährleisten, indem open_basedir so eingestellt wird, dass der PHP-Ausführungsordner des virtuellen Hostbenutzers begrenzt wird, also wenn Sie CURLOPT_FOLLOWLOCATION (PHP-Curl-Funktion, Deep-Crawl-Daten) verwenden Es gibt eine 301-Weiterleitung. Die im Artikel erwähnte Fehlermeldung wird nach einer Weile angezeigt.
Nachdem ich die relevanten Informationen überprüft habe, habe ich schnell die Lösung gefunden: http://www.php.cn/php-weizijiaocheng-. 362563.html, diese Methoden sind alle in der offiziellen PHP-Hilfe verfügbar
Die spezifische Methode besteht darin, curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true) in der Curl-Anweisung zu verwenden und eine Funktion in der PHP-Funktion anzupassen.
Code wie folgt:
function curl_redir_exec($ch,$debug="") { static $curl_loops = 0; static $curl_max_loops = 20; if ($curl_loops++ >= $curl_max_loops) { $curl_loops = 0; return FALSE; } curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); $debbbb = $data; list($header, $data) = explode("\n\n", $data, 2); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($http_code == 301 || $http_code == 302) { $matches = array(); preg_match('/Location:(.*?)\n/', $header, $matches); $url = @parse_url(trim(array_pop($matches))); //print_r($url); if (!$url) { //couldn't process the url to redirect to $curl_loops = 0; return $data; } $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)); /* if (!$url['scheme']) $url['scheme'] = $last_url['scheme']; if (!$url['host']) $url['host'] = $last_url['host']; if (!$url['path']) $url['path'] = $last_url['path'];*/ $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:''); curl_setopt($ch, CURLOPT_URL, $new_url); // debug('Redirecting to', $new_url); return curl_redir_exec($ch); } else { $curl_loops=0; return $debbbb; } }
Nachdem die Funktion definiert ist, ersetzen Sie die Anweisung „curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)“ durch „curl_redir_exec($ch)“
Danach Ich möchte, dass Ihre PHP-Datei keinen Fehler enthält. Sie können ihn im offiziellen PHP-Link finden:
Empfohlene verwandte Artikel]/safe 模式不能curl的函数 function curl_redir_exec($ch) { static $curl_loops = 0; static $curl_max_loops = 20; if ($curl_loops++ >= $curl_max_loops) { $curl_loops = 0; return FALSE; } curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); list($header, $data) = explode("\n\n", $data, 2); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($http_code == 301 || $http_code == 302) { $matches = array(); preg_match('/Location:(.*?)\n/', $header, $matches); $url = @parse_url(trim(array_pop($matches))); if (!$url) { //couldn't process the url to redirect to $curl_loops = 0; return $data; } $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)); if (!$url['scheme']) $url['scheme'] = $last_url['scheme']; if (!$url['host']) $url['host'] = $last_url['host']; if (!$url['path']) $url['path'] = $last_url['path']; $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:''); curl_setopt($ch, CURLOPT_URL, $new_url); debug('Redirecting to', $new_url); return curl_redir_exec($ch); } else { $curl_loops=0; return $data; } } //end
1.
Einführung in das Konzept und Anwendungsbeispiele der PHP-Funktion „curl_setopt“Ein einfaches Beispiel für die Verwendung der PHP-Funktion „curl_setopt“ )-Funktion zum Erfassen von Webseiten und POST-Datenphp-Funktion „curl_setopt“ simuliert Beispiel für die BenutzeranmeldungDetaillierte Erläuterung des Verwendungsbeispiels von PHP-Funktion „curl_exec“Das obige ist der detaillierte Inhalt vonBei Verwendung der PHP-Curl-Funktion wird die Meldung „Warnung: curl_setopt() [function.curl-setopt]: CURLO...So beheben Sie den Fehler' angezeigt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wenn bei der Verwendung Ihres Druckers eine Fehlermeldung angezeigt wird, z. B. dass der Vorgang nicht abgeschlossen werden konnte (Fehler 0x00000771), liegt dies möglicherweise daran, dass die Verbindung zum Drucker getrennt wurde. In diesem Fall können Sie das Problem mit den folgenden Methoden lösen. In diesem Artikel besprechen wir, wie Sie dieses Problem auf einem Windows 11/10-PC beheben können. Die gesamte Fehlermeldung lautet: Der Vorgang konnte nicht abgeschlossen werden (Fehler 0x0000771). Der angegebene Drucker wurde gelöscht. Beheben Sie den Druckerfehler 0x00000771 auf einem Windows-PC. Um den Druckerfehler zu beheben, konnte der Vorgang nicht abgeschlossen werden (Fehler 0x0000771). Der angegebene Drucker wurde auf einem Windows 11/10-PC gelöscht. Befolgen Sie diese Lösung: Starten Sie die Druckspule neu

Wird Windows Sandbox mit der Meldung „Windows Sandbox kann nicht gestartet werden, Fehler 0x80070005, Zugriff verweigert“ beendet? Einige Benutzer berichteten, dass Windows Sandbox nicht geöffnet werden kann. Wenn dieser Fehler auch bei Ihnen auftritt, können Sie dieser Anleitung folgen, um ihn zu beheben. Windows Sandbox startet nicht – Zugriff verweigert Wenn Windows Sandbox mit der Meldung „Windows Sandbox kann nicht gestartet werden, Fehler 0x80070005, Zugriff verweigert“ beendet wird, stellen Sie sicher, dass Sie als Administrator angemeldet sind. Diese Art von Fehler wird normalerweise durch unzureichende Berechtigungen verursacht. Versuchen Sie also, sich als Administrator anzumelden, und prüfen Sie, ob das Problem dadurch behoben wird. Wenn das Problem weiterhin besteht, können Sie die folgenden Lösungen ausprobieren: Führen Sie das WLAN als Administrator aus

Entschlüsselung des HTTP-Statuscodes 460: Warum tritt dieser Fehler auf? Einleitung: Im täglichen Netzwerkgebrauch stoßen wir häufig auf verschiedene Fehlermeldungen, einschließlich HTTP-Statuscodes. Diese Statuscodes sind ein vom HTTP-Protokoll definierter Mechanismus, der die Verarbeitung einer Anfrage anzeigt. Unter diesen Statuscodes gibt es einen relativ seltenen Fehlercode, nämlich 460. Dieser Artikel befasst sich mit diesem Fehlercode und erklärt, warum dieser Fehler auftritt. Definition des HTTP-Statuscodes 460: Zunächst müssen wir die Grundlagen des HTTP-Statuscodes verstehen

Inhaltsverzeichnis Lösung 1 Lösung 21. Löschen Sie die temporären Dateien von Windows Update 2. Reparieren Sie beschädigte Systemdateien 3. Anzeigen und Ändern von Registrierungseinträgen 4. Schalten Sie die IPv6-Netzwerkkarte aus 5. Führen Sie das WindowsUpdateTroubleshooter-Tool zur Reparatur aus 6. Schalten Sie die Firewall aus und andere verwandte Antivirensoftware. 7. Schließen Sie den WidowsUpdate-Dienst. Lösung 3 Lösung 4 „0x8024401c“-Fehler tritt während des Windows-Updates auf Huawei-Computern auf Symptom Problem Ursache Lösung Immer noch nicht gelöst? Vor kurzem musste der Webserver aufgrund von Systemschwachstellen aktualisiert werden. Nach der Anmeldung am Server wird der Fehlercode 0x8024401c angezeigt

AutoCAD ist eine der am häufigsten verwendeten Zeichnungsentwurfssoftware. Wenn wir sie jedoch unter Win11 verwenden möchten, kann es bei der Installation von Autocad unter Win11 zu einem Fehler kommen. Zu diesem Zeitpunkt können wir versuchen, die Registrierung zu ändern, um das Problem zu beheben. Bei der Installation von Autocad in Win11 ist ein Fehler aufgetreten: Drücken Sie im ersten Schritt „Win-Logo + R“ auf der Tastatur, um den Lauf zu öffnen. Geben Sie im zweiten Schritt „regedit“ ein und drücken Sie die Eingabetaste, um die Registrierung zu öffnen. 3. Fügen Sie „Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System“ in den obigen Pfad ein. 4. Doppelklicken Sie nach der Eingabe

Wenn Sie beim Erstellen oder Starten einer virtuellen Maschine mit Hyper-V auf den Fehlercode 0x80070003 stoßen, kann dies an Berechtigungsproblemen, Dateibeschädigungen oder Konfigurationsfehlern liegen. Zu den Lösungen gehören die Überprüfung von Dateiberechtigungen, die Reparatur beschädigter Dateien, die Sicherstellung der korrekten Konfiguration und mehr. Dieses Problem lässt sich lösen, indem man die verschiedenen Möglichkeiten nacheinander ausschließt. Die gesamte Fehlermeldung sieht folgendermaßen aus: Beim Erstellen von [Name der virtuellen Maschine] ist auf dem Server ein Fehler aufgetreten. Es kann keine neue virtuelle Maschine erstellt werden. Auf den Konfigurationsspeicher kann nicht zugegriffen werden: Das System kann den angegebenen Pfad nicht finden. (0x80070003). Zu den möglichen Ursachen für diesen Fehler gehören: Die Datei der virtuellen Maschine ist beschädigt. Dies kann aufgrund von Malware-, Viren- oder Adware-Angriffen passieren. Obwohl die Wahrscheinlichkeit, dass dies geschieht, gering ist, können Sie dies nicht vollständig tun

Um die Curl-Version unter Linux zu aktualisieren, können Sie die folgenden Schritte ausführen: Überprüfen Sie die aktuelle Curl-Version: Zunächst müssen Sie die im aktuellen System installierte Curl-Version ermitteln. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus: curl --version Dieser Befehl zeigt die aktuellen Informationen zur Curl-Version an. Verfügbare Curl-Version bestätigen: Bevor Sie Curl aktualisieren, müssen Sie die neueste verfügbare Version bestätigen. Sie können die offizielle Website von Curl (curl.haxx.se) oder verwandte Softwarequellen besuchen, um die neueste Version von Curl zu finden. Laden Sie den Curl-Quellcode herunter: Laden Sie mit Curl oder einem Browser die Quellcodedatei für die Curl-Version Ihrer Wahl herunter (normalerweise .tar.gz oder .tar.bz2).

Praktische Tipps zur schnellen Lösung von Tomcat404-Fehlern Tomcat ist ein häufig verwendeter JavaWeb-Anwendungsserver und wird häufig bei der Entwicklung und Bereitstellung von JavaWeb-Anwendungen verwendet. Manchmal kann es jedoch vorkommen, dass Tomcat einen 404-Fehler meldet, was bedeutet, dass Tomcat die angeforderte Ressource nicht finden kann. Dieser Fehler kann durch mehrere Faktoren verursacht werden, aber in diesem Artikel werden wir einige gängige Lösungen und Tipps behandeln, die Ihnen helfen, Tomcat 404-Fehler schnell zu beheben. Überprüfen Sie den URL-Pfad
