Bonjour a tous
j'ai un soft php qui fonctionne en php5.3 sous apache2
mais qui ne fonctionne pas sous php5.5 sous apache2.
quelles peuvent etre les raisons ?
d'avance merci
Alex
Bonjour a tous
j'ai un soft php qui fonctionne en php5.3 sous apache2
mais qui ne fonctionne pas sous php5.5 sous apache2.
quelles peuvent etre les raisons ?
d'avance merci
Alex
Si tu peux nous en dire plus que "ne fonctionne pas".
Le plus probable selon moi est que PHP 5.3 est différent de PHP 5.5Envoyé par alexmtp
Bonsoir a tous
merci pour vos réponses et excusez moi pour cette question tellement pas détaillée et pour ma réponse tardive à vous fournir plus d'éléments
j'ai du réinstallé un serveur de test ubuntu 14.04.1 LTS avec php-5.5.9
et J'ai fait des tests en php-5.5.9
et j'obtiens une page blanche sans rien....
pour info, avec le php-5.3.2 sous ubuntu 10.04.4 LTS, il y a des variables modifiées dans le php.ini
voici la liste des variables modifiées dans le php.ini php-5.3.2:
allow_call_time_pass_reference = On
memory_limit = -1
error_log = /var/www/php_error.log
register_long_arrays = On
register_argc_argv = On
post_max_size = 20M
magic_quotes_gpc = On
mbstring.func_overload = 0
si je ne fais pas ces modif, le soft ne fonctionne pas.
la plupart de ces variables ne sont plus présentes dans le php.ini de 5.5.9
j'ai pu modifier :
memory_limit = -1
error_log = /var/www/php_errors.log
register_argc_argv = On
mbstring.func_overload = 0
et le reste je n'ai pas pu les modifier.
je ne mesure pas l'impact que cela peut avoir sur le code php.
Je souhaite migrer mon serveur internet qui est actuellement ubuntu 10.04.4 noyau linux 2.6.32-21 qui se fait vieux
vers la derniere version ubuntu 14.04.4 LTS noyau linux 3.13 avec php-5.5.9
d'avance merci pour votre aide.
Bien cordialement à vous.
Alexmtp
HEllo
Non pas encore je vais jeter un oeil dessus les log apache et php.
en tout cas rien dans le php_errors.log
Alex
Resalut
Dans les logs apache2 je vois ceci
ca correspond a une variable de php.ini qui n'est plus disponible.[Thu Nov 06 18:50:58.160359 2014] [:error] [pid 3891] [client 127.0.0.1:53335] PHP Fatal error: Call-time pass-by-reference has been removed in /var/www/test/index_store.php on line 69
merci
je vais chercher et voir a quoi ca correspond et je reviens vers vous demain
Cordialement
Alex
http://php.net/manual/fr/language.references.pass.php
Tu dois donc enlever les & dans tous les appels de fonctions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function foo(&$var) { $var++; } $a=5; foo($a); //correct foo(&$a); //provoque une erreur à partir de php 5.4
Salut Nightfall
c'est exactement ca, et la fonction ne fait pas de return, elle travaille avec l'adresse de $var
je vais donc l'enlever et faire un return($var) a la fin
Merci je vais modifier et tester
Alex
Hello
en fait pas besoin de faire un return($var)
Alex
Rebonjour
j'ai corrigé et mon soft va plus loin mais il y a d'autres problemes.
est ce que les variables $HTTP_SERVER_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS existent dans PHP-5.5.9 ?
j'ai l'impression que non !
d'avance merci pour vos réponses.
Cordialement
Alex
REsalut
En effet ces variables ($HTTP_SERVER_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, etc ... )ne sont plus disponible dans PHP-5.5.9
et cela correspond a la variable register_long_arrays = On du PHP-5.3.2
Puis je faire une fonction qui bascule les variables $_SERVER, $_GET, $_POST
dans les variables $HTTP_SERVER_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS ??
cela pourrait il solutionner mon probleme sans modifier tout le code ?
Cordialement
Alex
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager