Не удается записать в файл на сервере приложений Google App Engine с помощью PHP?

У меня это работало буквально всего несколько часов назад. Не уверен, что я сделал, чтобы испортить это, если что-нибудь. Я пытаюсь использовать file_put_contents () для файла test.txt в моем временном каталоге, чтобы проверить некоторые вещи. Я не могу использовать print_r () или echo, потому что иногда я тестирую вызов ajax. Ошибки, которые я продолжаю получать:

Warning: file_put_contents(temp/test.txt): The local filesystem is readonly, open failed in sub-dirs.../request.php on line 62

Warning: file_put_contents(temp/test.txt): failed to open stream: No such file or directory in sub-dirs.../request.php on line 62

Я не на производстве. Это локально, и, согласно документации, это должно работать:

Хранение данных на веб-сервере разработки

Google App Engine для PHP поддерживает чтение и запись в Google Cloud Storage с помощью API потоков PHP. Разработчик может выполнять чтение и запись из объекта в облачном хранилище Google, указав его в качестве URI для любой функции PHP, поддерживающей реализацию потоков PHPs, например fopen (), fwrite () или get_file_contents ().

На сервере разработки, когда указан URI облачного хранилища Google, мы эмулируем эту функцию, читая и записывая временные файлы в локальной файловой системе пользователя. Эти файлы сохраняются между запросами, что позволяет вам проверить функциональность в локальной среде разработки перед развертыванием кода в App Engine.

На сервере разработки PHP потоковые вызовы, такие как fopen (), file_get_contents () на URL-адресах «gs: //», проверяются путем чтения и записи в локальную файловую систему.

Я очень расстроен, поэтому любая помощь очень ценится. Буду упрекать.

1

Решение

Начиная с SDK 1.9.18, dev_appserver по умолчанию отключает запись в локальный файл, чтобы лучше имитировать производственную среду. Вы можете включить запись в файл, добавив «google_app_engine.disable_readonly_filesystem = 1» в файл php.ini.

6

Другие решения

Хотя вы и правы, сервер разработки должен иметь возможность имитировать облачное хранилище Google, в настоящее время существует проблема (сообщается Вот, не стесняйтесь, чтобы начать это) об этом.

Если вы используете SDK версии 1.9.18, просто вернитесь к 1.9.17, и он должен работать (по крайней мере, для меня)

3

По вопросам рекламы [email protected]