Bonjour,
Je sus en mutualisé chez OVH.
J'ai un script qui fonctionne en local mais pas sur serveur.
Le voici :
Le fichier versions.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <?php /// ********************************************* Dernière version $xml = simplexml_load_file('http://localhost/manu/versions.php'); echo '<h1>LOCAL</h1>'; echo '<pre>'; print_r($xml); echo '</pre>'; echo '<hr>'; $versions = simplexml_load_file('http://www.arizona-dream.com/php-livre-dor/versions.php'); $derniere_version = floatval($versions->version[0]->numero); echo '<h1>DISTANT</h1>'.$derniere_version; echo '<hr>'; /// ********************************************* // Initialiser cURL $curl = curl_init(); // Définir l'adresse à ouvrir curl_setopt($curl, CURLOPT_URL, 'http://www.arizona-dream.com/php-livre-dor/versions.php'); // Suivre les redirections s'il y en a @curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // Permet de stocker dans la ligne suivante l'output dans la variable page curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // Définition du header "User-Agent:" curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'); // Exécuter $page = curl_exec($curl); // Fermer pour libérer des ressources systèmes curl_close($curl); echo '<h1>PARSAGE CURL</h1>'; echo $page; echo '<hr /> '; ?>
Le résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php header ("Content-Type:text/xml"); header('Content-Type: application/xml; charset=utf-8'); // Ne supporte pas les balise html ?> <versions> <version> <numero>9</numero> <maj>8.2</maj> <logs>[li]Passage de Jquery 1.6 à 1.8[/li][li]Interface base de données PDO[/li][li]Passage à HTML5[/li][li]Allègement et optimisation du code (HTML, Javascript et PHP)[/li][li]Versions gérées avec simplexml_load_file[/li][li]Mot de passe crypté en MD5 ou avec BCRYPT selon la version de PHP[/li]</logs> <date>28/03/2016</date> </version> </versions>
Dans le script, j'ai mis un exemple CURL qui fonctionne seulement si on met l'option CURLOPT_USERAGENT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 LOCALSimpleXMLElement Object ( [version] => SimpleXMLElement Object ( [numero] => 9 [maj] => 8.2 [logs] => [li]Passage de Jquery 1.6 à 1.8[/li][li]Interface base de données PDO[/li][li]Passage à HTML5[/li][li]Allègement et optimisation du code (HTML, Javascript et PHP)[/li][li]Versions gérées avec simplexml_load_file[/li][li]Mot de passe crypté en MD5 ou avec BCRYPT selon la version de PHP[/li] [date] => 28/03/2016 ) )
( ! ) Warning: simplexml_load_file(http://www.arizona-dream.com/php-livre-dor/versions.php): failed to open stream: Redirection limit reached, aborting in C:\Users\Manu\Documents\Sauvegardes\Uwamp\www\manu\test.php on line 19 Call Stack # Time Memory Function Location 1 0.0000 137800 {main}( ) ..\test.php:0 2 0.0312 139352 simplexml_load_file ( ) ..\test.php:19
( ! ) Warning: simplexml_load_file(): I/O warning : failed to load external entity "http://www.arizona-dream.com/php-liv...ions.php" in C:\Users\Manu\Documents\Sauvegardes\Uwamp\www\manu\test.php on line 19 Call Stack # Time Memory Function Location 1 0.0000 137800 {main}( ) ..\test.php:0 2 0.0312 139352 simplexml_load_file ( ) ..\test.php:19
( ! ) Notice: Trying to get property of non-object in C:\Users\Manu\Documents\Sauvegardes\Uwamp\www\manu\test.php on line 20 Call Stack # Time Memory Function Location 1 0.0000 137800 {main}( ) ..\test.php:0 DISTANT0
( ! ) Notice: Trying to get property of non-object in C:\Users\Manu\Documents\Sauvegardes\Uwamp\www\manu\test.php on line 20 Call Stack # Time Memory Function Location 1 0.0000 137800 {main}( ) ..\test.php:0
PARSAGE CURL 9 8.2 [li]Passage de Jquery 1.6 à 1.8[/li][li]Interface base de données PDO[/li][li]Passage à HTML5[/li][li]Allègement et optimisation du code (HTML, Javascript et PHP)[/li][li]Versions gérées avec simplexml_load_file[/li][li]Mot de passe crypté en MD5 ou avec BCRYPT selon la version de PHP[/li] 28/03/2016
Sinon, il y a un problème de redirection comme pour simplexml_load_file.
J'ai l'impresion qu'il y a une restriction de sécurité sur les serveurs d'OVH ?
Merci d'avance de votre aide ...
Partager