[RESOLU] chdir en erreur en PHP 7

Petit nouveau ! | 4 Messages

02 déc. 2020, 18:39

J'ai migré un site PHP de 5 en 7 sur Zend server 2019.
Aucune modification n'a été nécessaire ; c'est un site très simple.

Ce site génère un script shell unix qui déroulent en dehors des pages du site.
Malheureusement chdir est en erreur en PHP7.

Si le chdir sont effectués dans le script shell généré par le site, les cd ne s'effectuent pas non plus.

Sans doute une mesure de sécurité, mais le safe_mode est Off.

Une idée ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 déc. 2020, 20:47

Quel est le message d'erreur ?

Si tu fais un script shell unix, ne peux tu pas faire une commande "cd" en shell plutôt qu'un chdir() en PHP ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

02 déc. 2020, 21:48

C'est ce que je faisais en PHP5 que des cd dans le shell script. Mais j'ai eu des "Permission denied".

J'ai donc essayé de faire le chdir en PHP avant de lancer le script shell.
Là aucun message dans le PHP, juste FALSE en retour du chdir.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

03 déc. 2020, 08:43

Vérifie que l'utilisateur qui fait tourner ton serveur Apache a bien les droits sur le répertoire où tu veux chdir()
A défaut,il faut lui donner les droits (chmod / chown sous Unix)
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

03 déc. 2020, 09:44

J'ai vérifié que les droits sur les répertoires sont identiques à ce qui fonctionnait sous Zend en PHP5, les groupes auxquels appartient le compte apache, les groupes auxquels appartient le owner du répertoire cible.
Tout est identique.
Seul le fait d'être passé sous Zend 2019 et PHP7 est en cause.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

03 déc. 2020, 15:13

Et si tu ne pouvais pas faire de "cd" précédemment, c'est que tu avais déjà ce problème.
Si tu as des "Permission denied", c'est un problème de droit Unix donc il faut chercher de ce côté : teste d'autres répertoires, chmod 0777, chown le même utilisateur qu'apache, vérifie que tu n'es pas chrooté, etc...
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

03 déc. 2020, 19:06

Merci @rthur je vais faire autrement car c'est certainement lié à la nouvelle version de Zend.