簡體   English   中英

部署的網站上的Google App Engine PHP包含錯誤

[英]Google App Engine PHP Include Error on deployed site

我一直在使用Google App Engine PHP SDK在本地的PHP站點上工作,並且在我的計算機上一切正常。 然后,我部署了該網站,並說它已成功上傳,但是,當我查看托管網站時,該頁面為空白。 當我在“應用程序儀表板”中檢查日志時,收到許多警告和錯誤:

PHP Warning:  include(): apc failed to locate includes/functions.php - bailing in /base/data/home/apps/s~raven3mil/1.373024475561310665/login.php on line 2

PHP Warning:  include(includes/functions.php): failed to open stream: No such file or directory in /base/data/home/apps/s~raven3mil/1.373024475561310665/login.php on line 2

PHP Warning:  include(): Failed opening 'includes/functions.php' for inclusion (include_path='.;/base/data/home/apps/s~raven3mil/1.373024475561310665/;/base/data/home/runtimes/php/sdk') in /base/data/home/apps/s~raven3mil/1.373024475561310665/login.php on line 2

PHP Warning:  require_once(includes/session.php): failed to open stream: No such file or directory in /base/data/home/apps/s~raven3mil/1.373024475561310665/login.php on line 3

PHP Fatal error:  require_once(): Failed opening required 'includes/session.php' (include_path='.;/base/data/home/apps/s~raven3mil/1.373024475561310665/;/base/data/home/runtimes/php/sdk') in /base/data/home/apps/s~raven3mil/1.373024475561310665/login.php on line 3

This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.

有人對此事有見識嗎? 我不確定從這里要去哪里...謝謝!

更新:

app.yaml

application: raven3mil
version: 1
runtime: php
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /includes
  static_dir: includes

- url: /fullcalendar-1.6.2/fullcalendar
  static_dir: fullcalendar-1.6.2/fullcalendar

- url: /ckeditor
  static_dir: ckeditor

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

- url: /.*
  script: login.php

error_handlers:
- file: errors/404.php

應用程序名稱匹配,並且一切在本地運行良好。

默認情況下,除非您在app.yaml中將application_read標志指定為處理程序的一部分,否則您的應用程序無法讀取靜態文件處理程序中的文件,因此應更改

- url: /includes
  static_dir: includes

- url: /includes
  static_dir: includes
  application_readable: true

當然,如果此文件夾中只有php腳本,而您實際上並不想從應用程序中提供該腳本,而只想在運行時進行部署和訪問,則應該一起刪除此處理程序。 您不需要在app.yaml文件中的條目就可以隨應用程序上載文件,僅當您希望隨后響應傳入的請求而將其提供給您時。

該錯誤也可能是由於以下事實造成的:在某些操作系統(例如MAMP堆棧)上不區分大小寫,而Jetty(區分大小寫)是區分大小寫的。 因此,如果您正在Apache堆棧上進行開發並遷移到GAE,則需要檢查所有包含路徑是否區分大小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM