2013-11-25 41 views
0

我需要在GAE上設置一個簡單的頁面,這對於想要免費託管的人來說基本上是。該頁面有一個聯繫表單,我用PHP編寫了一個腳本。即:index.html,表單動作調用contact.php。儘管將代碼放置在index.html中,並且調用該代碼,反而沒有產生任何結果。GAE,無法讓PHP工作

我無法弄清楚如何讓PHP在GAE上工作。我試圖改變app.yaml中設置好幾次,無論是PHP是根本無法識別(甚至一些簡單的像

<?php echo "test"; ?> 

產生任何結果)或瀏覽器嘗試強制下載腳本。

這裏是我的電流/最後的app.yaml:

application: [myappidentifier] 
version: 1 
runtime: php 
api_version: 1 

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

- url: /contact.php* 
    script: contact.php 

- url: /(.*\.(gif|png|jpg|svg|ico|js|css)) 
    static_files: \1 
    upload: (.*\.(gif|png|jpg|svg|ico|js|css)) 

我敢肯定,這是我的錯,不知何故。 :) 我該如何解決這個問題,以便PHP在GAE上按照預期工作?

謝謝你的時間。編輯:好吧,nix的PHP郵件()方法,他們已經禁用它的GAE,它似乎? https://developers.google.com/appengine/docs/php/mail/

但仍然,PHP一般似乎沒有與我目前的設置。 感謝您的幫助!

回答

0

你有一個不必要的*在你的處理器爲contact.php,嘗試將其更改爲:

- url: /contact.php 
    script: contact.php 

此外,在AppEngine上工作的更常見的方式,它不使用腳本的文件擴展名,所以改變你的處理程序:

- url: /contact 
    script: contact.php 

,然後改變你的鏈接和表單目的地/接觸,而不是/contact.php

+0

非常感謝您的回覆!正如我所提到的,我發佈的yaml是我的最後一次嘗試,我看到有人使用類似的東西並嘗試了。不幸的是,我已經嘗試了你提出的建議,但沒有結果。我花了6個多小時閱讀文檔並搜索了Google的答案,但似乎沒有任何工作。如果我在index.html上放置一個簡單的echo語句,它不會被識別爲PHP並且實際上出現在源代碼中。從PHP腳本中,它產生一個空白頁面。所以它就像沒有被識別爲PHP一樣。有任何想法嗎?謝謝! – worksAsIntended

+0

如果將PHP代碼放在.html文件中,那麼不會,AppEngine將不會將其識別爲PHP,只有在使用__script:__指令指定文件時,纔會將其識別爲您的app.yaml文件中的.html文件被指定爲一個靜態文件。 – IanGSY

+0

對於.php文件,如果你得到一個空白頁面,這通常表明某種PHP錯誤,你可以看看AppEngine日誌,看看是否有任何與該文件相關的條目? – IanGSY