Maison >Tutoriel CMS >PHPCMS >Que faire si la communication phpcms v9 échoue
Que dois-je faire si la communication phpcms v9 échoue ? Que dois-je faire si Phpcms v9 ne parvient pas à communiquer avec Phpsso et que les membres ne peuvent pas s'inscrire ou se connecter ?
Un ami a dit ceci :
D'autres configurations du serveur sont correctes, mais la raison pour laquelle la communication échoue toujours a été trouvée :
Étant donné que les serveurs avec pare-feu utilisent généralement le mappage de ports , cela conduit à un réseau externe. Le site Web est normalement accessible via le nom de domaine, mais le site Web n'est pas accessible via le nom de domaine sur l'intranet. L'adresse de l'interface de communication entre v9 et phpsso est liée via le nom de domaine, ce qui entraîne toujours un échec de communication. Il s’agit d’un défaut de la v9 elle-même, et les développeurs n’en ont pas pleinement tenu compte.
J'espère que le responsable corrigera ce BUG dès que possible.
Certains amis ont également dit :
Il n'y a pas de fichier de ce type dans le fichier phpsso_server dans le package d'installation officiel téléchargé . La solution est donc de le copier depuis le dossier phpcms/libs/classes/ de la v9, puis de créer un répertoire de sessions sous le fichier phpsso_server/caches/, sinon le fichier ne pourra pas être écrit.
Bien sûr, il existe également un moyen sur Internet de mettre la déclaration de 21ème ligne session_start(); dans le fichier session_mysql.class.php avant la phrase précédente. Dans ce cas, cela peut également être résolu, mais la v9 n'utilisera pas la base de données. La méthode de stockage utilisera uniquement le stockage de fichiers et l'emplacement de stockage de la session n'est pas stocké en fonction de l'emplacement défini dans system.php. Il sera enregistré dans le répertoire défini dans le fichier php.ini.
Fournissez une solution :
Modifiez la ligne 361 de phpcmsmodulesmemberclassesclient.class.php de
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
à
$fp = stream_socket_client("tcp://".($ip ? $ip : $host).":".$port, $errno, $errstr, $timeout);
Après le test, vous pouvez vous connecter avec succès. .
De nombreux amis ont rencontré ce problème, mais sous Linux Apache, ce problème est relativement rare.
Site Web PHP chinois, un grand nombre de Tutoriels PHPCMS gratuits, bienvenue pour apprendre en ligne !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!