


Bei der Verwendung von php-simple-html-dom-parser sind Probleme aufgetreten
Ich habe heute dieses Tool verwendet:
https://github.com/sunra/php-simple-html-dom-parser
Zuerst bin ich auf ein Problem gestoßen Ich habe slick_test.php im Testfall gefunden, der mit php-simple-html-dom-parser geliefert wird, und es wurde ein Fehler gemeldet. Dann habe ich die einfachsten drei Codezeilen geschrieben, um die Baidu-Homepage zu erfassen:
<code><span><span><?php</span><span>require</span><span>'./simplehtmldom_1_5/simple_html_dom.php'</span>; <span>$html</span> = file_get_html(<span>'http://www.baidu.com/'</span>); <span>//找到所有图片 </span><span>foreach</span>(<span>$html</span>->find(<span>'img'</span>) <span>as</span><span>$element</span>) <span>echo</span><span>$element</span>->src . <span>'<br>'</span>; <span>//找到所有链接 </span><span>foreach</span>(<span>$html</span>->find(<span>'a'</span>) <span>as</span><span>$element</span>) <span>echo</span><span>$element</span>->href . <span>'<br>'</span>;</span></span></code>
Ergebnisse Der gemeldete Fehler ist:
<code>andy@AndyMacBookPro:/usr/<span>local</span>/webdata/github/php-simple-html-dom-parser/Src/Sunra/PhpSimple$ php andy.php<span> //www.baidu.com/img/baidu_jgylogo3.gif<br>//www.baidu.com/img/bd_logo.png<br>http://s1.bdstatic.com/r/www/cache/static/global/img/gs_237f015b.gif<br>//www.baidu.com/gaoji/preferences.html<br>/<br>https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F<br>https://passport.baidu.com/v2/?reg®Type=1&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F<br>/<br>http://news.baidu.com/ns?cl=2&rn=20&tn=news&word=<br>http://tieba.baidu.com/f?kw=&fr=wwwt<br>http://zhidao.baidu.com/q?ct=17&pn=0&tn=ikaslist&rn=10&word=&fr=wwwt<br>http://music.baidu.com/search?fr=ps&key=<br>http://image.baidu.com/i?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&word=<br>http://v.baidu.com/v?ct=301989888&rn=20&pn=0&db=0&s=25&word=<br>http://map.baidu.com/m?word=&fr=ps01000<br>http://wenku.baidu.com/search?word=&lm=0&od=0<br>//www.baidu.com/more/<br>javascript:;<br>javascript:;<br>javascript:;<br>http://w.x.baidu.com/go/mini/8/10000020<br>http://news.baidu.com<br>http://www.hao123.com<br>http://map.baidu.com<br>http://v.baidu.com<br>http://tieba.baidu.com<br>https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F<br>//www.baidu.com/gaoji/preferences.html<br>//www.baidu.com/more/<br>http://news.baidu.com<br>http://tieba.baidu.com<br>http://zhidao.baidu.com<br>http://music.baidu.com<br>http://image.baidu.com<br>http://v.baidu.com<br>http://map.baidu.com<br>javascript:;<br>javascript:;<br>javascript:;<br>http://baike.baidu.com<br>http://wenku.baidu.com<br>http://www.hao123.com<br>//www.baidu.com/more/<br>/<br>//www.baidu.com/cache/sethelp/index.html<br>http://home.baidu.com<br>http://ir.baidu.com<br>/duty/<br>create_debugger_socket("localhost", 9000) socket: Too many open files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> create_debugger_socket(<span>"localhost"</span>, <span>9000</span>) <span>socket</span>: Too many <span>open</span><span>files</span> andy@AndyMacBookPro:/usr/<span>local</span>/webdata/github/php-simple-html-dom-parser/Src/Sunra/PhpSimple$</code>
Dieser Fehler wird gemeldet:
create_debugger_socket(“localhost”, 9000) socket: Zu viele offene Dateien
Ja Ich verstehe nicht, ich weiß nicht, wo die Socket-Verbindung verwendet wird. ?
%%%%%%%%%%%%%%%%%%%%%%%%
Jetzt ist es fertig, so: Zuerst wollte ich das fehlerhafte PHP debuggen, um zu sehen, was das Problem war, dann habe ich MacGDBP aktiviert und festgestellt, dass nach dem Einschalten von MacGDBp kein Fehler gemeldet wurde, und ich dachte an Port 9000. Das ist das Gegenstück zum xdebug-Debug-Port, also habe ich einige Ideen bekommen, es könnte ein Problem mit xdebug sein, und dann habe ich online darauf verwiesen:
http://bugs.xdebug.org/view.php ?id=1070
Siehe hier:
- Xdebug installiert und xdebug.remote_connect_back und xdebug.remote_enable auf 1 gesetzt, damit eine Verbindung zu meinem Host hergestellt wird und phpstorm ausgeführt wird (oder nicht ausgeführt wird). )
- Setzen Sie xdebug.remote_log=/tmp/remote.log
Dann gingen wir zu /etc/php.ini und fügten
xdebug.remote_log = / hinzu tmp/xdebug_remote. Nach dem Protokoll
wir laufen weiter und die Fehler bleiben bestehen, aber wir können dieses Fehlerprotokoll in der Datei /tmp/xdebug_remote.log sehen:
<code><span>16</span> Log opened <span>at</span><span>2015</span>-<span>02</span>-<span>20</span><span>03</span>:<span>48</span>:<span>29</span><span>17</span> I: Connecting <span>to</span> configured address/port: localhost:<span>9000.</span><span>18</span> E: Could <span>not</span> connect <span>to</span> client. :-( <span>19</span> Log closed <span>at</span><span>2015</span>-<span>02</span>-<span>20</span><span>03</span>:<span>48</span>:<span>29</span></code>
Okay, wir bekommen Es kann sicher keine Verbindung zum Socket-Port von localhost:9000 hergestellt werden, da ich MacGDBP nicht lokal geöffnet habe. Dies ist ein Debugging-Tool für PHP. Wenn Sie zu xdebug in php.ini gehen:
<code>xdebug<span>.remote</span>_enable = on xdebug<span>.remote</span>_handler = dbgp xdebug<span>.remote</span>_host = localhost xdebug<span>.remote</span>_port = <span>9000</span> xdebug<span>.remote</span>_autostart = <span>1</span></code>
Wenn xdebug .remote_autostart auf 1 gesetzt ist, das heißt, wenn es automatisch aktiviert wird, fordert es direkt zum Öffnen der Socket-Verbindung von Port 9000 auf. Andernfalls wird ein Fehler gemeldet. Deshalb :-).
Okay, da die Ausgabe dieser Protokolldatei ziemlich groß ist, können wir xdebug.remote_log deaktivieren, das heißt:
<code>xdebug.<span>remote_enable = on</span> xdebug.<span>remote_handler = dbgp</span> xdebug.<span>remote_host = localhost</span> xdebug.<span>remote_port = 9000</span> xdebug.<span>remote_autostart = 1</span> ;xdebug.<span>remote_log = /tmp/xdebug_remote.log</span></code>
Fügen Sie ein Semikolon hinzu und es ist in Ordnung.
Das Obige stellt die Probleme vor, die bei der Verwendung von php-simple-html-dom-parser auftreten, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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



Die Gründe, warum MySQL keine Verbindung zu Localhost herstellen kann, sind, dass der MySQL-Dienst nicht gestartet ist, der MySQL-Port belegt ist und ein Problem mit der MySQL-Konfigurationsdatei vorliegt. Detaillierte Einführung: 1. In Windows-Systemen können Sie den Dienst-Manager öffnen, indem Sie an der Eingabeaufforderung „services.msc“ eingeben, dann den MySQL-Dienst suchen und sicherstellen, dass sein Status „Wird ausgeführt“ ist. In Linux-Systemen können Sie den Befehl „services.msc“ verwenden, um den Dienststatus zu überprüfen und zu steuern. Sie können den Befehl „open“ usw. verwenden.

Um mehr über Open Source zu erfahren, besuchen Sie bitte: 51CTO Hongmeng Developer Community https://ost.51cto.com Laufumgebung DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. Um eine Anwendung zu erstellen, klicken Sie auf Datei- >newFile->CreateProgect. Vorlage auswählen: [OpenHarmony] EmptyAbility: Geben Sie den Projektnamen, shici, den Namen des Anwendungspakets com.nut.shici und den Speicherort der Anwendung XXX ein (kein Chinesisch, Sonderzeichen oder Leerzeichen). CompileSDK10, Modell: Stage. Gerät

Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP + Socket. Er stellt hauptsächlich das E / A-Multiplexing vor und erklärt, wie PHP + Socket den Webserver implementiert. Freunde, die interessiert sind, können einen Blick darauf werfen. Ich hoffe, es wird für alle hilfreich sein.

Lösung: 1. Überprüfen Sie den Betriebsstatus des Servers und stellen Sie sicher, dass er den richtigen Port überwacht. 2. Versuchen Sie, die Firewall oder Sicherheitssoftware vorübergehend zu deaktivieren, und versuchen Sie dann erneut, auf localhost zuzugreifen 4. Versuchen Sie, den Netzwerkadapter neu zu starten oder die Netzwerkverbindung neu zu konfigurieren. 5. Versuchen Sie, den vom lokalen Server verwendeten Port zu ändern, oder schließen Sie andere Programme, die denselben Port belegen um die entsprechende IP-Adresse und den Domänennamen manuell in die Hosts-Datei usw. einzufügen.

1. Socket-Programmierung basierend auf dem TCP-Protokoll 1. Der Socket-Workflow beginnt auf der Serverseite. Der Server initialisiert zuerst den Socket, bindet dann an den Port, lauscht auf den Port, ruft „Accept“ zum „Blockieren“ auf und wartet darauf, dass der Client eine Verbindung herstellt. Wenn zu diesem Zeitpunkt ein Client einen Socket initialisiert und dann eine Verbindung zum Server herstellt (verbinden), wird bei erfolgreicher Verbindung die Verbindung zwischen dem Client und dem Server hergestellt. Der Client sendet eine Datenanforderung, der Server empfängt die Anforderung und verarbeitet sie, sendet dann die Antwortdaten an den Client, der Client liest die Daten und schließt schließlich die Verbindung. Verwenden Sie den folgenden Python-Code, um sie zu implementieren : importso

Linux Localhost bedeutet „Computer-Hostname“. Der Hostname wird verwendet, um einen unabhängigen Computer im Netzwerk zu identifizieren. Der Root in „root@localhost“ stellt den aktuell angemeldeten Benutzer dar Der Benutzer ist Root. Melden Sie sich als Benutzer am Linux-Computer an.

Der erste Schritt auf der SpringBoot-Seite besteht darin, Abhängigkeiten einzuführen. Zuerst müssen wir die für WebSocket erforderlichen Abhängigkeiten sowie die Abhängigkeiten für die Verarbeitung des Ausgabeformats com.alibabafastjson1.2.73org.springframework.bootspring-boot-starter-websocket einführen. Der zweite Schritt besteht darin, die WebSocket-Konfigurationsklasse importorg springframework.context.annotation.Bean;importorg.springframework.context.annotation.Config zu erstellen

Ja, Debugger wie XDebug können die Leistung des PHP-Servers verlangsamen. Aus diesem Grund wird der Debugger nicht in einer Serverumgebung platziert. Sie werden in verschiedenen Umgebungen bereitgestellt, um unnötigen Overhead zu vermeiden. Debug-Meldungen können nicht in Anwendungen angezeigt werden, die sich bereits in der Produktion befinden. Wenn dem Server Debugverhalten hinzugefügt wird, wird die Debugging-Engine an den PHP-Prozess angehängt. Es beginnt mit dem Empfang von Nachrichten und stoppt am Haltepunkt. Dies ist jedoch kein erforderliches Verhalten, da es zu Leistungseinbußen bei anderen Prozessen führt und somit den PHP-Parser stoppt. Andererseits neigen Debugger bei der Installation dazu, Ports im Server zu öffnen, da sie nicht für den Einsatz in einer Produktionsumgebung gedacht sind. Das Öffnen eines Ports in Ihrem Server ist genauso schlimm wie das Öffnen einer Tür, durch die Hacker schnüffeln können.
