サボテン??
サボテンのデバッグ xampp
C:Documents and Settingsissdu>C:/xampp/php/php -q C:/xampp/htdocs/cacti/poller.php --force --debug
09/25/2013 03:31:52 AM - POLLER:ポーラー[0] 注: ポーラー Int: '300'、スケジュールされた Ta
sk Int: '300'、最後からの時間: '118'、最大実行時間 '298'、ポーラー実行数: '1'
09/25/2013 03 :31:52 AM - POLLER: Poller[0] DEBUG: リモート プロセスを生成しようとしています
s [CMD: c:/xampp/php/php.exe, ARGS: -q "c:/xampp/htdocs/cacti/ cmd.php" 0 1]
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 件中 1 件のポーリングを待機しています。
1 件中 1 件のポーリングを待機しています。
1 件中 1 件のポーリングを待機しています。
1 件中 1 件のポーリングを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
OK u:0.01 s:0.03 r:8.19rs。
OK u:0.01 s:0.03 r:8.1909/25/2013 03:32:02 AM - システム統計: 時間:9.8750 メソッド
OK u:0.01 s:0.03 r:8.23reads:N/A ホスト数:2 プロセスあたりのホスト数: 2 データソース:29 RRDsPr
OK u:0.01 s:0.03 r:8.23rs。
OK u:0.01 s:0.03 r:8.25rs。
OK u:0.01 s:0.03 r:8.25rs。
OK u:0.01 s:0.03 r:8.25rs。
OK u:0.01 s:0.03 r:8.28rs。
OK u:0.01 s:0.03 r:8.34rs。
OK u:0.01 s:0.03 r:8.34rs。
OK u:0.01 s:0.03 r:8.72rs。
OK u:0.01 s:0.03 r:8.72rs。
OK u:0.01 s:0.03 r:8.72rs。
OK u:0.01 s:0.03 r:8.72rs。
OK u:0.01 s:0.03 r:8.72rs。
OK u:0.01 s:0.03 r:8.73rs。
OK u:0.01 s:0.03 r:8.75rs。
OK u:0.01 s:0.03 r:8.75rs。
ループ時間: 10.44llers。
睡眠時間: 289.36lers。
合計時間: 10.64llers。
1 つのポーラーのうち 1 つを待機しています。
C:Documents and Settingsisdu>
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 件中 1 件のポーリングを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
OK u:0.01 s:0.03 r:3.36W
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
OK u:0.01 s:0.03 r:3.45
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
エラー: 十分な引数がありません。
1 つ中 1 つのポーリングを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
OK u:0.01 s:0.03 r:4.421 個中 1 個のポーリングを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
1 つのポーラーのうち 1 つを待機しています。
OK u:0.01 s:0.03 r:4.50
1 つのポーラーのうち 1 つを待機しています。
OK u:0.01 s:0.03 r:4.511 個中 1 個のポーリングを待機しています。
??????有解?方法??
厳格な標準: C:xampphtdocscactilibping.php オンライン 382 では変数のみが参照によって渡される必要があります。
厳格な標準: C では変数のみが参照によって渡される必要があります: xampphtdocscactilibping.php オンライン 382
厳格な標準: C:xampphtdocscactilibping.php オンライン 382 で変数のみを参照渡しする必要があります
回复讨论(解决方案)
那要看 C:xampphtdocscactilibping.php 第382 行是怎么写的了
/*此?382行 get the socket response */
switch(socket_select($r = array($this->socket), $w = NULL, $f = NULL, $to_sec, $to_usec)) {
ケース 2:
/* 接続が拒否されました */
$error = "拒否されました";
休憩;
ケース 1:
/* 終了時刻を取得*/
$this->time = $this->get_time($this->precision);
/* get packet response */
$code = @socket_recv($this->socket, $this->reply, 256, 0);
/* 該当する場合はエラーを取得します*/
$err = socket_last_error($this->socket);
/* 返信メッセージを設定します */
$this->ping_status = $this->time * 1000;
$this->ping_response = "UDP Ping 成功 (" . $this->time*1000 . " ms)";
$this->close_socket();
true を返します。
ケース 0:
/* タイムアウト */
$error = "タイムアウト";
休憩;
}
$retry_count++;
}
} else {
$this->ping_response = "宛先アドレスが指定されていません";
$this->ping_status = "ダウン";
false を返します。
}
} /* end ping_udp */
function ping_tcp() {
/* ホストは空白以外である必要があります */
if ($this->host["hostname"]) {
/* 変数を初期化する */
$this->ping_status = 「ダウン」;
$this->ping_response = "デフォルト";
/* タイムアウト変数を確立します */
$to_sec = floor($this->timeout/1000);
$to_usec = ($this->timeout%1000)*1000;
/* snmp_transport を指定している場合はホスト名をクリーンアップします*/
$this->host["hostname"] = str_replace("tcp:", "", strto lower($this->host["hostname"])) ;
$this->host["hostname"] = str_replace("udp:", "", strto lower($this->host["hostname"]));
/* ホストの IP アドレスを決定する */
if ($this->is_ipaddress($this->host["hostname"])) {
$host_ip = $this->host["hostname"] ;
}else{
$host_ip = gethostbyname($this->host["hostname"]);
if (!$this->is_ipaddress($host_ip)) {
cacti_log("警告: TCP Ping エラー: gethostbyname failed for " . $this->host["hostname"]);
$this->response = 「TCP Ping Error: gethostbyname failed for 」 。 $this->host["ホスト名"];
false を返します。
}
}
/* ソケットを初期化します */
if (substr_count($host_ip,":") > 0) {
if (define("AF_INET6")) {
$this->socket = socket_create (AF_INET6、SOCK_STREAM、SOL_TCP);
}else{
$this->ping_response = 「PHP バイナリ は IPv6 をサポートしていません」;
$this->ping_status = "ダウン";
cacti_log("警告: IPv6 ホストが検出されました。PHP バージョンは IPv6 をサポートしていません");
false を返します。
}
}else{
$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
}
while (1) {
/* set start time */
$this->start_time();
/* 即時復帰を許可します */
socket_set_nonblock($this->socket);
@socket_connect($this->socket, $host_ip, $this->port);
socket_set_block($this->socket);
switch(socket_select($r = array($this->socket), $w = array($this->socket), $f = array($this->socket), $to_sec, $to_usec )){
ケース 2:
/* 接続が拒否されました */
$this->time = $this->get_time($this->precision);
if (($this->time*1000) <= $this->timeout) {
$this->gt;ping_response = "TCP Ping 接続が拒否されました (" . $this->time*1000 . " MS)";
$this->ping_status = $this->time*1000;
}
$this->close_socket();
true を返します。 /*「接続が拒否されました」の意味: ホストは生きています (そうでない場合は ping がタイムアウトします) */
ケース 1:
/* 接続されているので、合計時間を計算して返します */
$this->time = $this-> ;get_time($this->精度);
if (($this->time*1000) <= $this->timeout) {
$this->gt;ping_response = "TCP Ping Success (" . $this->time*1000 . " MS)";
$this->ping_status = $this->time*1000;
}
$this->close_socket();
true を返します。
ケース 0:
/* タイムアウト */
$this->ping_response = "TCP ping タイムアウト";
$this->ping_status = "ダウン";
$this->close_socket();
false を返します。
}
}
} else {
$this->ping_response = "宛先アドレス が指定されていません";
$this->ping_status = "ダウン";
false を返します。
}
} /* end ping_tcp */
function ping($avail_method = AVAIL_SNMP_AND_PING, $ping_type = PING_ICMP, $timeout=500, $retries=3) {
/* 変数の初期化 */
$ping_ ping = true;
$ping_snmp = true;
$this->ping_status = 「ダウン」;
$this->ping_response = 「設定により ping が実行されません。」;
$this->snmp_status = "ダウン";
$this->snmp_response = 「設定または ping の結果により、SNMP は実行されませんでした。」;
$this->avail_method = $avail_method;
/* 可用性のための短絡 none */
if ($avail_method == AVAIL_NONE) {
$this->ping_status = "0.00";
true を返します。
}
if ((!function_exists("socket_create")) && ($avail_method != AVAIL_NONE)) {
$avail_method = AVAIL_SNMP;
cacti_log("警告: PHP ではソケットのサポートが有効になっていません。SNMP ping に戻ります");
}
if (($retries <= 0) || ($retries > 5)) {
$this->retries = 2;
}else{
$this->retries = $retries;
}
if ($timeout $this->timeout = 500;
}else{
$this->timeout = $timeout;
}
/* 小数精度 は 0.0000 */
$this->precision = 5;
/* snmp ping が 最低限 */
$ping_result = false; で選択されています。
$snmp_result = false;
/* icmp/udp ping test */
if (($avail_method == AVAIL_SNMP_AND_PING) ||
($avail_method == AVAIL_SNMP_OR_PING) ||
($avail_method == AVAIL_PING)) {
if ($ping_type == PING_ICMP) {
$ping_result = $this->ping_icmp();
}else if ($ping_type == PING_UDP) {
$ping_result = $this->ping_udp();
}else if ($ping_type == PING_TCP) {
$ping_result = $this->ping_tcp();
}
}
/* snmp テスト */
if (($avail_method == AVAIL_SNMP_OR_PING) && ($ping_result == true)) {
$snmp_result = true;
$this->snmp_status = 0.000;
}else if (($avail_method == AVAIL_SNMP_AND_PING) && ($ping_result == false)) {
$snmp_result = false;
}else if (($avail_method == AVAIL_SNMP) || ($avail_method == AVAIL_SNMP_AND_PING)) {
if (($this->host["snmp_community"] == "") && ($this-> host["snmp_version"] != 3)) {
/* コミュニティ文字列なしの snmp バージョン 1/2 は、SNMP テストが成功すると仮定します
下位互換性の問題により */
$snmp_result = true;
$this->snmp_status = 0.000;
}else{
$snmp_result = $this->ping_snmp();
}
}
switch ($avail_method) {
case AVAIL_SNMP_OR_PING:
if (($this->host["snmp_community"] == "") && ($this->host["snmp_version"] ! = 3)) {
if ($ping_result) {
return true;
}else{
return false;
}
}elseif ($snmp_result) {
return true;
}elseif ($ping_result) {
return true;
}else{
return false;
}
case AVAIL_SNMP_AND_PING:
if (($this->host["snmp_community"] == "") && ($this->host["snmp_version"] != 3)) {
if ($ping_result ) {
true を返します。
}else{
return false;
}
}elseif (($snmp_result) && ($ping_result)) {
return true;
}else{
return false;
}
case AVAIL_SNMP:
if ($snmp_result) {
return true;
}else{
return false;
}
case AVAIL_PING:
if ($ping_result) {
return true;
}else{
return false;
}
デフォルト:
false を返します。
}
} /* end_ping */
function is_ipaddress($ip_address = '') {
/* ipv4/v6 を確認する */
if (substr_count($ip_address, ":")) {
/* 圧縮されたドットformat */
if (substr_count($ip_address, "::")) {
$ip_address = str_replace("::", ":", $ip_address);
$segments = explode(":", $ip_address);
}else{
$segments = explode(":", $ip_address);
if (sizeof($segments) != 8) {
/* 8 セグメントである必要があります */
return false;
}
}
$i = 0;
foreach ($segments as $segment) {
$i++;
if ((trim($segment) == "") && ($i == 1)) {
続ける;
}elseif (!is_numeric("0x" . $segment)) {
return false;
}
}
true を返します。
}else if (strlen($ip_address) <= 15) {
$octets = explode('.', $ip_address);
$i = 0;
if (count($octets) != 4) {
return false;
}
foreach($octet as $octet) {
if ($i == 0 || $i == 3) {
if(($octet < 0) || ($octet > 255)) {
false を返す;
}
}else{
if(($octet < 0) || ($octet > 255)) {
return false;
}
}
$i++;
}
true を返します。
}else{
return false;
}
}
}
?>
最初に回避できます
socket_select($r = array($this->socket), $w = NULL, $f = NULL, $to_sec, $to_usec)
書き込み
@socket_select($r = array($ this ->socket), $w = NULL, $f = NULL, $to_sec, $to_usec)
error_reporting(E_ALL ^ E_STRICT); もできます
プロトタイプ
intソケット_select (array &read, array &write) , array &excel, int tv_sec [, int tv_usec] )
最初の 3 つのパラメーターが参照によって渡されていることがわかります
php5.3 以降、参照はエンティティから生成される必要があります。そうしないとエラーが報告されます
それ将来接続の回避が機能しなくなる可能性は否定できません
正しい 書き込み方法は
$r = array($this->socket);
$f = NULL; $r, $w, $f, $to_sec, $to_usec)
??ボード、
??は解決されました、

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

矢印関数はPhp7.4で導入され、短い閉鎖の単純化された形式です。 1)=>演算子を使用して定義され、機能を省略し、キーワードを使用します。 2)矢印関数は、キーワードを使用せずに現在のスコープ変数を自動的にキャプチャします。 3)コールバック関数と短い計算でしばしば使用され、コードのシンプルさと読みやすさを改善します。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。
