2010-12-09 27 views
2

Mon espace de travail est un peu instable en ce moment, et je me retrouve constamment à migrer tous mes projets d'un serveur à un autre, à mon PC en utilisant XAMPP, à un autre serveur et ainsi de suite.Comment puis-je créer un script ultime pour tester le nouvel environnement de serveur?

Le problème est qu'à chacun de ces mouvements, rien ne fonctionne comme il se doit. Mes projets utilisent tous un fichier de configuration qui contient le chemin complet du projet ainsi que d'autres variables liées au chemin. Cela a considérablement facilité le processus de transition.

Cependant, il existe également souvent des problèmes d'environnement, par exemple lorsque AllowOverride est défini sur Deny au lieu de All. Je voudrais créer un script PHP pour tester les paramètres de configuration du serveur actuel, et vérifier f.inst. Autoriser Override.

Est-ce que cela peut être fait?

+2

ne serait-il pas plus logique de configurer un environnement stable, par ex. éliminer la cause au lieu des symptômes? Et puis déployer cela avec un outil comme [Chef] (http://wiki.opscode.com/display/chef/Home) où nécessaire? – Gordon

Répondre

0

<?php phpinfo(); ?> -> vous donne les paramètres php du serveur

<?php print_r(apache_get_modules()); ?> -> donne une liste des modules Apache chargés.

Tableau ( [0] => noyau 1 => http_core [2] => mod_so [3] => sapi_apache2 [4] => mod_mime [5] => mod_rewrite )

Ensuite, il y a le script this qui vérifie si mod_rewrite est activé en testant deux URL. Je pense que vous pouvez le modifier pour vérifier d'autres paramètres similaires.

0

Comme il l'a dit plus haut, vous pouvez utiliser phpinfo() pour voir quelles sont les différences de réglages.

comme vous l'avez fait avec les chemins d'accès, déterminez quels paramètres transgressent vos scripts lorsque vous changez de serveur, et réglez-le simplement sur un paramètre cohérent dans un fichier de configuration afin qu'il ne casse pas lorsque vous le déplacez. Si vous utilisez des versions différentes de PHP sur chaque serveur, il peut y avoir des différences qui ne peuvent pas être définies avec un fichier de configuration, comme l'utilisation de fonctions qui n'existent pas dans les versions antérieures. dans ce cas, je recommande de mettre à jour les anciennes versions si possible, ou au moins de faire correspondre vos versions de développement et de production.

voir http://php.net/manual/en/configuration.php pour plus de détails sur l'utilisation de fichiers de configuration et d'autres méthodes pour définir les paramètres PHP. en PHP 5, vous pouvez définir des paramètres de configuration par répertoire en utilisant un simple fichier .htaccess que vous pouvez déplacer avec le reste de votre projet.