Heim  >  Artikel  >  Backend-Entwicklung  >  Behebung des Problems, dass PHP unter Apache keine anderen Sockets öffnen kann (Berechtigung verweigert).

Behebung des Problems, dass PHP unter Apache keine anderen Sockets öffnen kann (Berechtigung verweigert).

WBOY
WBOYOriginal
2016-08-08 09:31:031008Durchsuche

Heute habe ich vor, den Redis-Betrieb zu üben. Wenn ich ihn in der Befehlszeile ausführe, stelle ich fest, dass die Verbindung reibungslos funktioniert.

Später habe ich es mit Apache ausgeführt und festgestellt, dass keine Verbindung zum Redis-Client hergestellt werden konnte (der Redis-Server ist ausgefallen).

Beim Erfassen von Paketen auf dem Reids-Server habe ich festgestellt, dass keine Verbindung besteht Bei der Verwendung von Apache wurde die Anfrage überhaupt empfangen.

Es scheint, dass das Problem durch Apache verursacht wird.

Es funktioniert unter der Befehlszeile, aber nicht unter Apache. Das erste, was mir einfiel, war, ob die Apache-Konfigurationsdatei einen bestimmten Port einschränkte, aber ich konnte ihn nicht finden.

Endlich habe ich die Antwort auf Stackoverflow gefunden – Selinux begrenzt die Ports, die Apache öffnen kann (genauer gesagt, die Ports, die der http-Dienst öffnen kann).

Lösung

/usr/sbin/setsebool httpd_can_network_connect=1

oder

setenforce 0                                                                                                                            >

Zur Erinnerung für die Zukunft: Zusätzlich zu Firewalls, die Sie blockieren können, kann Selinux Sie auch blockieren, vergessen Sie es nicht.

Das Obige stellt die Lösung für das Problem vor, dass PHP unter Apache keine anderen Sockets öffnen kann (Berechtigung verweigert), einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn