У меня нет open_basedir, php может получить доступ к / etc / usr / proc / home и т. Д., Но не к / tmp.
tmpfs монтируется в / tmp (/ tmp type tmpfs (rw)). Это также причина, по которой я хочу использовать папку / tmp.
Мои файлы принадлежат http (пользователь для nginx и php) и доступны для чтения всем.
sudo -u http cat /tmp/file
работает, но ничего внутри скрипта php не работает (например, file_exist () или file ()).
редактировать: ошибка показывает в журнале:
PHP Warning: file(/tmp/ydlw/pid): failed to open stream: No such file or directory in /srv/http/ydlw/status.php on line 267
edit2: я проверил проблему другим способом. я сделал
touch("/tmp/boo");
file_exist("/tmp/boo");
и file_exist возвращает true, поэтому файл создается. Затем я посмотрел внутри / tmp, и там нет файла "boo". Вот чего я боялся, php не «видит» точку монтирования. Почему это и как я могу это исправить?
/tmp/ydlw/pid
в /tmp
? Если нет, то это причина сообщения об ошибке.