Google App Engine終於支援PHP了,可是…

5 / 31, 2013 Google , PHP , 伺服器

今天,我無聊地去了Google App Engine的網頁看一看,發現好像多了一些東西。再看清楚,原來它終於支援PHP了!這真是天大的喜訊,因為之前Google並不太想支援PHP的,怕太多人在他們的平台上做不良的東西。

GAE-PHP

左圖是從Google App Engine中抓出來的。這顯示現在PHP還在測試階段。Google App Engine的效率很好,我非常想試試。到現在,要建立一個PHP應用是要預先申請的。你可以在此處申請。(記得首先要建立一個應用然後才能申請。)

可是,再看一看詳程,我才發現原來在Google App Engine的PHP應用有很多限制。例如應用程式不能把檔案寫在檔案系統中,建立網絡連線,長時間運行,更不可以執行系統指令。以下是一些在App Engine中php.ini的特別選項:

設定 Google App Engine的預設選項
detect_unicode false
session.gc_maxlifetime 600
session.cookie_secure 600
session.cookie_httponly 1
session.use_only_cookies 1
display_errors 0
display_startup_errors 0
html_errors 0
log_errors 1
file_uploads 0
upload_max_filesize 262144
max_file_uploads 0
date.timezone UTC
sendmail_path null
allow_url_fopen 1
allow_url_include 0
enable_dl 0
expose_php Off
register_globals Off
magic_quotes_gpc 0
mysqlnd.collect_statistics 0
mysql.allow_local_infile 0
mysqli.allow_local_infile 0

由此看見,Google App Engine的限制都挺多的,看到後有點失望。還有,連PHP函數在使用上也有限制。這裡是在App Engine上不能使用的函數:

  • disk_free_space()
  • diskfreespace()
  • escapeshellarg()和 escapeshellcmd()
  • exec()
  • fsockopen()
  • link()
  • passthru()
  • popen(), proc_close(), prog_get_status(), proc_nice(), proc_open()和 proc_terminate()
  • set_time_limit()
  • shell_exec()
  • show_source()
  • symlink()
  • system()
  • tmpfile()
  • tempnam()

這還差過普通的PHP主機,真是有點失望。所有限制都可以在此找到。

還有,這是在Google I/O 2013上提到的,可以看看那些片段:

  • Joe

    你在網頁上顯示程式碼是怎麼弄的?

    • s3131212

      Crayon Syntax Highlighter

      (還有上面的特效我已經關閉了,不然看起來很詭異)

      • Joe

        這個外掛是按下「送出文章」的那一瞬間就產生了程式碼高亮語法還是每次有人連進來,動態產生高亮語法(希望是前者)

        • s3131212

          我不確定欸

  • TingYuYan

    失望了……

    • Licson Lee

      非常認同…… :)