У меня есть интересная ситуация, когда у меня есть perl watcher script (с использованием Linux:: Inotify2), чтобы файлы были удалены в определенном каталоге, а затем передайте их на PHP скрипт для обработки. Наблюдаемый каталог и файлы в нем не принадлежат пользователю, на котором работает наблюдатель script, но все дерево каталогов, в которое вставляются файлы, - rwxr-xr-x, и файл доступен для чтения в мире.
Вот моя делемма. PHP script не может открыть дескриптор файла в файле, переданном ему при вызове из perl script, используя system(), exec() или ``. Тем не менее, PHP скрипт может открыть дескриптор файла в том же файле, когда script запускается вручную из командной строки с использованием того же самого эффективного пользователя.
У кого-нибудь есть идеи, почему это будет так?
Ваши вызовы fopen(), вероятно, полагаются на относительные пути, которые ломаются при изменении рабочего каталога.