0

我正在嘗試使用Google郵件系統,但在啓動前我失敗了。 我想從一個超級簡單的應用程序開始,只傳遞一個「你好世界」的消息,然後捕獲它。將其保存在數據庫和其他任務中將在此服務啓動並運行後完成。Google Cloud PubSub with PHP - 如何在App Engine服務器端安裝類?

但是我不能去幹活時出現錯誤:

[my-app].appspot.com is currently unable to handle this request. HTTP ERROR 500

原木,我看這個問題:

PHP Fatal error: Class 'Google\Cloud\PubSub\PubSubClient' not found in /base/data/home/apps/g~[my-app]/20170809t182312.403268501910529191/printHello.php on line 14

線14:$pubsub = new PubSubClient([這是複製粘貼從谷歌文檔

考慮:

  • 該應用工作正常,但沒有:use Google\Cloud\PubSub\PubSubClient;。我刪除了除echo "... some text praying to make it work..."之外的所有內容並顯示。所以在app.yaml文件或其他地方沒有問題。

  • 我能夠從主題詳細信息頁面發送消息,並在Web控制檯中接收消息,以便所有授權和啓用都正確完成。

  • 在本地機器上,Intellij IDEA在安裝beta組件後識別出PubSubClient類。該應用程序在本地計算機上不工作,但我甚至沒有嘗試過。我希望能夠在服務器上首次使用它。

  • 我檢查過,所有來自本地的文件也出現在服務器上。

我在想什麼?我閱讀了我在cloud.google上找到的所有網頁。 ...和我在互聯網上發現的所有東西,但似乎沒有人有類似的問題。所以它一定是非常簡單的事情,我做錯了或沒做完。有什麼建議麼?

回答

0

在GAE中啓用Google Cloud PubSub不是by default。您需要將其添加到您的應用程序代碼。從Pure PHP

You can include other pure PHP libraries with your application by putting the code in your application's directory, which is the same directory that contains your app.yaml file.

For example, you can create a symbolic link in your application's directory that points to a library's directory. That link is then followed and that library gets included in your application when you deploy to App Engine.

You can also include PHP libraries by specifying php.ini directives and including PHP include statements in your code. However, the preferred alternative is to use a PHP dependency management tool such as Composer .

我檢查的IntelliJ IDEA其中庫/類位於您的本地系統上,它的符號鏈接到您的應用程序目錄。它可能需要來調整use語句和/或符號鏈接源目錄以使事情順利進行。

注意:我是Python,而不是PHP用戶,因此請帶上一點鹽。

+0

(Multumesc frumos!) 謝謝。我已經使用其他用於創建任務隊列的類來完成此任務。對於酒吧我無法讓它工作。經過多次挖掘,我發現還有其他課程完全缺失。 我複製/粘貼他們的書架的例子,但也有人抱怨說,我沒有PHP 5.6,但只有PHP 5.5。當然,這是gcloud。我的Xamp版本高達7.1.7。但無法使用它。 到目前爲止,我會從GC休息一下,並使用AWS玩更多。當更多功能退出測試版時,會回來。 – SharpBCD

相關問題