環境:
オペレーティングシステム:Linux
サーバーソフトウェア:nginx/1.1.16PHP/5.3.27
MySQLバージョン:5.5.34-log
PHPCMSプログラムバージョン:Phpcms V9.5.7リリース2014062 5
問題:
ローカル: ローカルデバッグではすべて正常です
サーバー上: PHPCMS での PHPSSO 通信は成功しますが、アカウント登録とログインは実行できません。トラッキング コードを通じて、$fp が返されたことがわかります以下のコードは空です
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
セキュリティ通知発表 Web サイト: http://www.xrnet.cn/store/2012 -01-10.html
解決策:
fsockopen 関数と pfsockopen 関数を stream_socket_client などの他の関数に置き換えます
例は次のとおりです
前修正:
$fp = fsockopen($host, 80, $errno, $errstr, 30);
$fp = fsockopen($host, $port, $errno, $errstr, $connection_timeout);
$fp = stream_socket_client("tcp://".$host."80", $errno, $errstr, 30);
$fp = stream_socket_client("tcp://".$host.":".$port, $errno, $errstr, $connection_timeout);
コメント: DISCUZ の通信障害もこれが原因である可能性があります。
上記は、PHPCMS にログインおよび登録できない問題を内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。