2013-05-09 4 views
0

Я выполнил выбранный ответ в this question, я пытаюсь экспортировать то, что находится в памяти для определенной переменной в .php-файле. Затем я позже require_once созданный файл php.Файл не создается, даже если существуют разрешения на запись

Проблема в том, что файл php никогда не создается. Поэтому, когда я пытаюсь его выполнить, я получаю сообщение об ошибке (HTTP 500, поскольку код зависит от этой переменной и потому, что этот файл не существует).

В журнале ошибок указано, что файл не может быть необходим, потому что такого файла или каталога нет.

В каталоге, в котором я пытаюсь сделать файл, есть 755 разрешений.

Вот код, который я использую, чтобы экспортировать переменную в файл:

$variable_export = var_export($elasticaObject, true); 
$variable = "<?php\n\n\$$elasticaObject = $variable_export;\n\n?>"; 
file_put_contents('theIndex.php', $variable); 

Любая идея, что я делаю неправильно и почему файл theIndex.php не делается?

+0

Что возвращаемое значение 'file_put_contents'? – andrewsi

+0

делает 'theIndex.php' уже существует? Параметр может быть 755, но если файл Index.php уже существует и принадлежит другому пользователю, вы все равно не сможете его перезаписать. –

+0

@andrewsi Как получить возвращаемое значение из file_put_contents? – IMUXIxD

ответ

0

Ваш режим может быть недостаточным.

755 = RWX (Владелец), RW (группа и другие).

Группа и другие лица могут просто читать и переходить через папку.

Это может быть проблемой, если пользователь, запускающий PHP, не является владельцем папки.

Попробуйте пользователя chown: группа в папке, поэтому ваш php-пользователь (возможно, ваш веб-сервер) может написать в нем.

Приветствия,

К.

+0

как сделать chown user: group. Можете ли вы обновить свой ответ, объясняя, как это сделать. – IMUXIxD

+0

Предположим, что ваш каталог «/ home/koreth/test»: 'chown www-data: www-data/home/koreth/test'. www-data является пользователем по умолчанию для Apache на Debian, должен быть чем-то другим для другого дистрибутива. – Koreth

+0

Я не использую apache, я использую lightpd. Но я использую debian. – IMUXIxD

Смежные вопросы