Maison >Tutoriel CMS >PHPCMS >Que faire si la communication phpcms v9 échoue

Que faire si la communication phpcms v9 échoue

藏色散人
藏色散人original
2020-01-07 10:47:193249parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn