當前位置:首頁 » 編程語言 » saephp

saephp

發布時間: 2023-08-31 19:39:08

php部署到新浪雲sae不能正常運行了,求解

sae文檔

運行環境

基本環境

新浪雲 PHP 運行環境目前的 Web 伺服器使用的是:

  • CentOS-6.x

  • Apache-2.2.x

  • PHP-5.3.x / PHP-5.6.x

  • Web 伺服器運行在 64 位 Linux 環境下。

    Apache 運行在 Prefork 模式下,即每個請求都會對應一個 Apache 進程,請求結束後該進程才能服務於下一個請求。平台通過模塊方式擴展了 Apache 和 PHP 的相關功能。

    禁用函數和類

    出於平台安全性考慮,我們禁用了以下函數和類,禁用的標准主要有四點:

  • 出於對安全性的考慮

  • 出於對資源管理的考慮

  • 不常用的 API

  • 我們提供更好替代方案的 API

  • 禁用的函數:

  • symlink

  • link

  • exec

  • system

  • escapeshellcmd

  • escapeshellarg

  • passthru

  • shell_exec

  • proc_open

  • proc_close

  • proc_terminate

  • proc_get_status

  • proc_nice

  • dl

  • pclose

  • popen

  • stream_socket_server

  • stream_socket_accept

  • stream_socket_pair

  • stream_wrapper_restore

  • mail

  • mb_send_mail

  • posix_kill

  • apache_child_terminate

  • apache_lookup_uri

  • apache_reset_timeout

  • apache_setenv

  • virtual

  • socket_create

  • socket_create_pair

  • realpath_cache_get

  • 禁用的類:

  • SQLiteDatabase

  • SQLiteResult

  • SQLiteUnbuffered

  • SQLiteException

  • 沙箱

    代碼和數據的隔離:每個應用在運行期間,只能「看」到自己的代碼和數據,即 A 應用無法訪問 B 應用的代碼和數據。注意,這里提到的在 Web 伺服器上的數據,往往指一些中間處理過程的臨時數據,並非最終落地的數據,比如用戶上傳照片會臨時存儲到 TmpFS。

    連接數的隔離:我們知道,程序寫的不好,很容易導致阻塞,並進一步導致連接數的飆升。單個應用過多佔用 Apache 連接數,原因往往是多方面的,應用請求外部資源被阻塞是一個最為常見的因素,另外應用頁面過大瀏覽器下載慢也是常見因素之一。公有雲平台同一時刻往往運行著大量的應用,如果某一應用出現連接數異常,最直接的後果是整個平台上的所有應用都將陷入癱瘓。新浪雲平台目前有設置「應用最大 HTTP 並發連接數」,目前這個值是 500,如果應用平均單個請求處理時長是 100ms,那麼該應用每秒的 HTTP 並發連接將可以到達 5000,每天的請求超過 1 億沒有問題。但如果您的應用平均每個請求處理時長 2 秒,那麼該應用每秒的 HTTP 並發連接只能到達 250,每天支撐的請求數將在千萬。總體而言,盡量迅速處理完請求對應用是有利的,而且也是平台所鼓勵的。

    內存隔離:目前新浪雲平台上對單個 PHP 腳本的處理,設置了 128MB 的上限 (max_memory,ini_set 不可修改),我們認為這個設置是一個相對很高的值,可以說能夠滿足絕大部分應用的需求。設想一台伺服器 8G 內存,如果每個 PHP 處理都消耗 64M 內存,那麼該伺服器最多隻能同時運行 128 個 PHP 腳本。新浪雲引入了」應用最大並發內存數「的概念,目前的設置是 4GB。如果應用程序單個請求的內存消耗平均在 16MB,那麼可同時運行 256 個請求,這和上面的並發連接數的設定是基本一致的。

    CPU 隔離:這主要是通過新浪雲的配額系統來達到 CPU 時間的隔離。每個應用都有 CPU 時間消耗的分鍾速度限制,避免了某一應用過多非法獲取 CPU 資源導致其它應用響應慢的問題。

    目前新浪雲平台上允許的「單請求最大存活時長」是 300 秒 。

    註解

    當應用並發超過限制,系統會返回 508 錯誤,並顯示 Connections out of quota。當應用內存佔用超過限制,系統會返回 509 錯誤,並顯示 Memory usage out of quota。

    環境變數

    您可以通過列印 PHP 的全局變數$_SERVER來獲取跟新浪雲相關的環境變數信息,每個環境變數的信息如下:

    變數名

    說明

    HTTP_APPNAME 標志該請求屬於哪個應用

    HTTP_APPVERSION 標志該請求對應該應用的哪個版本

    HTTP_ACCESSKEY 該應用訪問各種服務資源的帳號

    HTTP_SECRETKEY 該應用訪問各種服務資源的密碼

    HTTP_APPCOOKIE 一些和 app 管理相關信息

    警告

    不要直接列印出$_SERVER變數,這樣可能會造成應用的 AccessKey 和 SecretKey 的泄露。為了應用的安全考慮,請保護好自己的 AccessKey 和 SecretKey。

    常用字體文件路徑:

  • constantSAE_Font_Sun

  • 宋體字體文件路徑

  • constantSAE_Font_Kai

  • 楷體字體文件路徑

  • constantSAE_Font_Hei

  • 文泉驛正黑字體文件路徑

  • constantSAE_Font_MicroHei

  • 文泉驛微米黑字體文件路徑

  • 全局函數

  • is_https()

  • 判斷客戶端是以 http 還是以 https 的方式連接。

    返回:

    如果是 https 連接返回 true,否則返回 false。
熱點內容
副編譯 發布:2025-02-04 02:05:25 瀏覽:613
解壓按摩師 發布:2025-02-04 01:21:31 瀏覽:424
linuxssh限制 發布:2025-02-04 01:20:40 瀏覽:697
腳本式是什麼 發布:2025-02-04 01:06:24 瀏覽:248
手機wps密碼怎麼取消密碼 發布:2025-02-04 00:51:44 瀏覽:596
演算法邏輯表 發布:2025-02-04 00:51:44 瀏覽:241
零售股票如何配置主線 發布:2025-02-04 00:51:07 瀏覽:948
預演算法施行時間是 發布:2025-02-04 00:50:30 瀏覽:342
世界ol上傳照片 發布:2025-02-04 00:34:13 瀏覽:63
有初始化的數組編譯提示重復定義 發布:2025-02-04 00:33:21 瀏覽:584