2 votes

Le script de PHP ne peut pas ouvrir un fichier lorsqu'il est appelé depuis un script de perl.

J'ai une situation intéressante où j'ai un observateur perl script (utilisant Linux::Inotify2) qui surveille les fichiers à déposer dans un certain répertoire, puis les transmet à un script PHP pour traitement. Le répertoire surveillé et les fichiers qui s'y trouvent ne sont pas la propriété de l'utilisateur sous lequel tourne l'observateur script, mais l'arborescence entière du répertoire dans lequel les fichiers sont déposés est rwxr-xr-x et le fichier est lisible par tous.

Voici mon delemma. Le script de PHP ne peut pas ouvrir un handle sur le fichier qui lui est passé lorsqu'il est appelé depuis le script de perl en utilisant system(), exec() ou ``. Cependant, le script PHP puede ouvrir un handle de fichier sur le même lorsque le script est exécuté manuellement depuis la ligne de commande en utilisant le même utilisateur effectif.

Quelqu'un a-t-il une idée de la raison pour laquelle ce serait le cas ?

0voto

Álvaro G. Vicario Points 57607

Vos appels fopen() reposent probablement sur des chemins relatifs qui se cassent lorsque le répertoire de travail change.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X