Когда я развертываю php-файл в GAE, file_exists
функция не работает. Если я тестирую тот же самый код локально со своего компьютера, используя Google App Engine Launcher, это работает. Вот файл PHP и app.yaml
<?php
DEFINE("TESTFILE", 'testfile.txt');
echo TESTFILE.'<br>';
$doesTheFileExist = file_exists(TESTFILE);
echo '$doesTheFileExist: ' . $doesTheFileExist. '<br>';
if (!file_exists(TESTFILE)) {
echo 'I guess it doesnt exist';
}
RETURN;
application: application-name
version: 1
runtime: php55
api_version: 1
threadsafe: true
handlers:
- url: /favicon.ico
static_files: favicon.ico
upload: favicon.ico
- url: /google-api-php-client
script: google-api-php-client
- url: /testfile.txt
static_files: testfile.txt
upload: testfile.txt
- url: /
script: indexTest.php
Почему это работает при локальном тестировании и после развертывания не работает?
Я попытался изменить местоположение файла и изменить app.yaml файл, и добавив что-то вроде:
- url: /templates
static_dir: templates
И положить файл в шаблоны каталог. Но опять же, он работает в локальном хосте, но не развернут в App Engine.
Вам нужно установить application_readable
Отметьте на вашем обработчике, если вы хотите иметь возможность читать статические ресурсы из вашего приложения.
Конечно, если вы на самом деле не хотите, чтобы файл служил статическим ресурсом, а просто хотите его прочитать, то даже не включайте его в файл app.yaml, и он будет загружен и доступен из вашего приложения.
Посмотреть документы Вот.
Других решений пока нет …