Page 1 sur 1

chdir en erreur en PHP 7

Posté : 02 déc. 2020, 18:39
par bmoine
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 ?

Re: chdir en erreur en PHP 7

Posté : 02 déc. 2020, 20:47
par @rthur
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 ?

Re: chdir en erreur en PHP 7

Posté : 02 déc. 2020, 21:48
par bmoine
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.

Re: chdir en erreur en PHP 7

Posté : 03 déc. 2020, 08:43
par @rthur
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)

Re: chdir en erreur en PHP 7

Posté : 03 déc. 2020, 09:44
par bmoine
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.

Re: chdir en erreur en PHP 7

Posté : 03 déc. 2020, 15:13
par @rthur
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...

Re: chdir en erreur en PHP 7

Posté : 03 déc. 2020, 19:06
par bmoine
Merci @rthur je vais faire autrement car c'est certainement lié à la nouvelle version de Zend.