0

git ハブから次の chat-html5 を実装しようとしています: https://github.com/ivanph/Chat-HTML5

すべてを ISP にアップロードしましたが、セキュリティ上の理由から ISP が exec をブロックしていることに気付きました。

私が呼んでいるファイルは次のとおりです。

<?php
/**
 * Main Script of phpWebSockets
 *
 * Run this file in a shell or windows cmd to start the socket server.
 * Sorry for calling this daemon but the goal is that this server run
 * as daemon in near future.
 *
 * @author Moritz Wutz <moritzwutz@gmail.com>
 * @version 0.1
 * @package phpWebSockets
 */

    ob_implicit_flush(true);

    require 'socket.class.php';
    require 'socketWebSocket.class.php';
    require 'socketWebSocketTrigger.class.php';

    $ip = exec ("ifconfig|grep 'inet:'|grep -v '127.0.0.1' |cut -d: -f2 |awk '{ print $1}'");
    $WebSocket = new socketWebSocket($ip,8000);

?>

これを行う別の方法はありますか? すべての Isp がこれをブロックしますか?

私に何ができる?

こんにちは皆さん、返信ありがとうございます。スクリプト開発者から回答がありました。$ip を Web サイトの IP アドレスに変更しました。次のエラーが表示されます。

--2013-08-13 12:07:01--  http://www.wilsea.com/websockets2/startDaemon.php
Resolving www.wilsea.com... 188.64.188.21
Connecting to www.wilsea.com|188.64.188.21|:80... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2013-08-13 12:07:12 ERROR 500: Internal Server Error.

開発者によると、これはポート (8000) が使用されていることを意味するため、80 - 443 - 8080 を試しましたが、同じエラーが発生しました。

ISP にメールを送信し、Websocket がブロックされているかどうか、またはポートを開く必要があるかどうかを尋ねました。

他の誰かがこの問題やこの問題への洞察を持っていましたか?

4

3 に答える 3

0

この怪物を回避するために、PHP で適切なリッスン アドレスを検出する方法を見つけることができました。(回避策はおそらく です$ip = '0';) 次の質問は:Fatal error: Call to undefined function socket_create() why is my ISP so mean?です。exec()は正当な理由で共有ホスティングでブロックされており、でソケットを作成することはできませんcreate_socket()

共有サーバーでこのようなことを望んでいるホスティング会社はありません。独自のシステムを取得する必要がありますが、そのシステムでこのコードを実行する必要はありません。これは、改善しようとしている場合を除き、このコードをどこでも実行したくないためです。しかし、PHP という砂の上に構築されたソリューションを改善することになります。それは悲しいことです。

本当にこれを使いたい場合は、安価な仮想サーバーを入手してください。お勧めしません。誰かが目的外のタスクに PHP を使おうとしているようです。関連する問題を理解せずにここまでたどり着いた場合は、そこから離れることをお勧めします。必要に応じてローカルホストで試してみてください。そうすれば、他の人に害を及ぼすことはありません。

于 2013-08-12T10:59:46.680 に答える