Я разворачиваю статические файлы (html,css, js) и хорошо работаю в gae, но для файлов php выдает ошибку 404

Мой app.yaml как:

 runtime: php55
 api_version: 1
 threadsafe: true

 handlers:
 - url: /
 static_files: www/index.html
 upload: www/index.html

 - url: /(.*)
 static_files: www/\1
 upload: www/(.*)

как видно выше, статические файлы находятся под www dir. и php файлы находятся в каталоге dir вендора и его подразделах. Я прочитал все дни док. чтобы понять этот файл yaml в состоянии понять, но, к сожалению, еще нет:) . Итак, HTML и все статические файлы работают отлично. но когда ajax вызывает php с отправкой данных в php. дает ошибку 404. Хорошо работает на локальном wamp-сервере. главная начальная страница index.html под www. И это нормально. Весь день я тестировал множество вариантов для развертывания файлов php. Пока не умею.

mainProjectRoot>app.yaml ( only this file and two directory "www and vendor")
                www/index.html
                   /css
                   /js
                vendor/smsgonder.php
                      /mail.php
                      /../../more php files

По крайней мере, я сдался, чтобы попробовать больше вариантов, и мне нужна помощь, чтобы настроить страницу app.yaml. (кроме вышеприведенного варианта весь дополнительный код, который я получал, всегда с ошибкой и без развертывания) Любая помощь будет очень оценена. Заранее спасибо!

final app.yaml is

runtime: php55
api_version: 2
threadsafe: true

handlers:
- url: /(.+\.php)$
  script: vendor/\1

- url: /
  static_files: www/index.html
  upload: www/index.html

- url: /(.*)
  static_files: www/\1
  upload: www/(.*)

введите описание изображения здесь

РЕДАКТИРОВАТЬ, это окончательный app.yaml ... (некоторое время я развертывал php-файлы, и некоторые из них волновались. Но опять же для некоторых php я получаю "POST 500 error " на случай, если я хочу поделиться финальным файлом app.yaml здесь.

runtime: php55
api_version: 2
threadsafe: true

handlers:
- url: /(.*).php 
  script: \1.php

- url: /
  static_files: www/index.html
  upload: www/index.html

- url: /(.*)
  static_files: www/\1
  upload: www/(.*)

Любая помощь будет очень ценится. Как может быть:)) Я потратил 5-6 дней только на развертывание готового приложения:)'

2 ответа

Раздел обработчиков для сценариев PHP, следующий за документацией Пример (работает для vendor также подкаталоги):

# Serve php scripts.
- url: /(.+\.php)$
  script: \1

Примечание: отступ имеет значение!

Добавьте это сразу после обработчиков:

- url: /(.*)\.php$
  script: vendor/\1.php

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

Другие вопросы по тегам