php-simple-html-dom-parser の使用時に発生した問題
今日はこのツールを使用しました:
https://github.com/sunra/php-simple-html-dom-parser
まず、組み込みの php-simple-html- を使用しました。テストケースの dom-parser slick_test.php がエラーを報告したので、Baidu ホームページをキャプチャするための最も単純な 3 行のコードを書きました:
<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>
結果は次のとおりです:
<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>
このエラー:
create_debugger_socket("localhost", 9000 ) ソケット: 開いているファイルが多すぎます
ソケット接続がどこで使用されているのかわかりません。 ?
%%%%%%%%%%%%%%%%%%%%%%%%%%%
これで、このように完了しました。まず、問題が発生したphpをデバッグして、問題が何であるかを確認したいと思いました。次に、MacGDBPをオンにしました。MacGDBpをオンにした後、エラーは報告されないことがわかり、ポート9000を思い出しました。これは xdebug Debug ポートに相当するものなので、いくつかアイデアがあります。xdebug に問題がある可能性があります。そして、オンラインでこれを参照します:
http://bugs.xdebug.org/view.php?id=1070
こちらを参照してください:
- /php.ini がインストールされました
- xdebug.remote_log = /tmp/xdebug_remote.log
<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>
<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>
<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>
上記は、php-simple-html-dom-parser を使用する際に発生する問題を内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









mysql が localhost に接続できない理由は、mysql サービスが開始されていないこと、mysql ポートが占有されていること、および MySQL 設定ファイルに問題があることです。詳細な紹介: 1. Windows システムでは、コマンド プロンプトで「services.msc」と入力してサービス マネージャーを開き、mysql サービスを見つけて、そのステータスが「実行中」であることを確認します。 Linux システムでは、「services.msc」コマンドを使用してサービスの状態を確認および制御できます。2. open コマンドなどを使用できます。

オープン ソースの詳細については、次のサイトを参照してください。 51CTO Honmeng 開発者コミュニティ https://ost.51cto.com 実行環境 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. アプリケーションを作成するには、[ファイル] をクリックします。 >新しいファイル ->プロジェクトの作成。テンプレートを選択します: [OpenHarmony] EmptyAbility: プロジェクト名 shici、アプリケーション パッケージ名 com.nut.shici、およびアプリケーションの保存場所 XXX (中国語、特殊文字、スペースは含まれません) を入力します。 CompileSDK10、モデル: ステージ。デバイス

この記事では、php+socket に関する関連知識を提供します。主に IO 多重化と php+socket が Web サーバーを実装する方法を紹介します。興味のある方は以下をご覧ください。皆様のお役に立てれば幸いです。

解決策: 1. サーバーの実行ステータスをチェックし、サーバーが正しいポートでリッスンしていることを確認します。 2. ファイアウォールまたはセキュリティ ソフトウェアを一時的に無効にして、再度 localhost にアクセスしてみます。 3. サーバーの hosts ファイルを確認します。オペレーティング システムを変更してローカルホストが正しく解決されていることを確認します。 4. ネットワーク アダプターを再起動するか、ネットワーク接続を再構成してみます。 5. ローカル サーバーが使用するポートを変更するか、同じポートを占有している他のプログラムを閉じてみます。 6. 試してください。対応する IP アドレスとドメイン名をホスト ファイルなどに手動で追加します。

1. TCP プロトコルに基づくソケット プログラミング 1. ソケット ワークフローはサーバー側から始まります。サーバーはまずソケットを初期化し、次にポートにバインドし、ポートをリッスンし、accept を呼び出してブロックし、クライアントが接続するのを待ちます。このとき、クライアントがSocketを初期化してからサーバーに接続(connect)すると、接続に成功するとクライアントとサーバー間の接続が確立されます。クライアントがデータ リクエストを送信し、サーバーがリクエストを受信して処理し、次に応答データをクライアントに送信し、クライアントがデータを読み取り、最後に接続を閉じます。インタラクションは終了します。インタラクションを実装するには、次の Python コードを使用します。 :インポートソ

linux localhost は、「コンピュータのホスト名」を意味します。ホスト名は、ネットワーク上の独立したコンピュータを識別するために使用されます。「root@localhost」の root は、現在ログインしているユーザーを表します。Linux では、管理者アカウントは root であり、ユーザーは root ユーザーとして Linux マシンにログインします。

SpringBoot 側の最初のステップは依存関係を導入することです。まず、WebSocket に必要な依存関係と、出力形式 com.alibabafastjson1.2.73org.springframework.bootspring-boot-starter-websocket を処理するための依存関係を導入する必要があります。 2 番目のステップは、WebSocket 構成クラス importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Config を作成することです。

comcn と com の違い: 1. comcn と com には意味の違いがありますが、アクセス速度に違いはありません; 2. comcn は国際ドメイン名であり、次のユーザーが使用するグローバル トップレベル ドメイン名です。商業機関、cn は中国企業のドメイン名、国内商業機関、国内ドメイン名、企業のみが登録可能; 3. 検索の優先順位は、cn が最初に .cn を検索することです。.cn サーバーが見つかった後、.cnサーバーは .com を検索します; 4. cn は cnnic China Internet Center Management によって提供されており、com の管理組織は海外にあります。
