У мене немає open_basedir, php може отримати доступ / etc / usr / proc / home тощо ... але не / tmp.
tmpfs встановлено на / tmp (/ тип tmp 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 повертає правду, тому файл створюється. Потім я переглянув всередині / tmp і жодного файлу "boo" там не можна знайти. Ось чого я боявся, php не «бачить» точку монтування. Чому це і як я можу це виправити?
/tmp/ydlw/pid
існує цей файл у /tmp
? Якщо ні, то це причина повідомлення про помилку.