2017-03-21 5 views
0

Je suis sûr que cela a été demandé et répondu avant, cependant, je suis nouveau à l'annonce de jargon n'a pas pu trouver la réponse.Comment faire pour changer l'hôte local pour tester le site dans un environnement différent

J'ai fait un site php avec plusieurs pages. Pour accéder au site et aux liens sur mon mac, tous les liens et photos doivent pointer vers http://localhost:8888/ Pour tester sur ma machine Linux, tous les liens et photos doivent pointer vers une adresse hôte locale différente. Et quand je charge le site sur mon serveur web, bien sûr les liens et les photos doivent pointer vers l'adresse web.

Il n'y a pas beaucoup d'endroits dans le site de 5 pages qui ont besoin d'être changé, mais je suis sûr qu'il doit y avoir une meilleure façon que l'édition manuelle.

Comment changer l'emplacement de l'hôte globalement?

Merci

+0

Cela dépend de l'application que vous utilisez? – David

Répondre

0

Je ne suis pas sûr que ce soit ce que vous demandez, mais vous devriez probablement utiliser le chemin relatif pour vos liens et images. Par exemple, si vous avez toutes vos images dans un répertoire « images » à la racine de votre site, vous devriez le faire

<img src="images/myimage.png"> 

au lieu de

<img src="http://siteaddress/path/to/image/image.png"> 

De cette façon, vous n'avez pas changer quoi que ce soit si vous changez le serveur web.

0

Idéalement, vous voudriez avoir un fichier de configuration spécifique à chaque environnement stockant les valeurs dans les constantes. Donc, dans votre code, vous incluez le fichier de configuration (aussi longtemps que vous en avez besoin) et vous utilisez les constantes.

Dans les constantes, vous pouvez stocker des valeurs telles que la connexion à la base de données ou les valeurs du chemin racine/url qui sont spécifiques à chaque environnement ainsi, par exemple sur votre machine locale vous pouvez avoir:

define('CONFIG_ROOT_URL', 'http://localhost:8888/'); 

tandis que sur le site web en direct, vous pourriez avoir:

define('CONFIG_ROOT_URL', 'http://your.domain.com/'); 

mais dans votre code que vous utilisez simplement:

$str_upload_page = CONFIG_ROOT_URL . 'upload.php'; 
echo $str_upload_page 
//this should output 'http://your.domain.com/upload.php' on the live version 
//and 'http://localhost/8888/upload.php' on your local machine 
+0

Merci. Ceci est exactement ce que je cherchais. – Retroglyph