萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 阿裡雲PHP環境

阿裡雲PHP環境

   整體介紹:

  Aliyun Cloud Engine (以下簡稱ACE)提供基於PHP 5.3.5的運行環境(Runtime Environment),支持標准的關系型數據庫、Memcache、Cron、Session、storage,同時增加一些高級特性來滿足開發者的需求。ACE選擇PHP作為首選支持語言,主要是因為目前國內的開發者以使用PHP語言的比重最大,未來會考慮支持持Node.js,ASP.net,Python和Java等。

  ACE的PHP Runtime和官方標准PHP環境幾乎完全一樣,99%的代碼可以不加任何修改完美的運行在ACE環境中。ACE出於安全和性能的考慮,對標准PHP進行了一些擴展和改進。ACE的PHP會隨著官方的版本升級而升級,當官方版本升級時,我們會評估其重要程度,並根據ACE自身特點合並到我們的Runtime中。

  限制:

  ACE平台為保證應用安全性和穩定性,對各類服務設定了一些限制和配額,用戶在使用前應當仔細閱讀,避免使用中出現問題:

  1.資源限制

  memory_limit : 腳本可分配的內存 默認:32M

  post_max_size: post數據大小 默認:10M

  upload_max_filesize 上傳文件大小 默認:4M

  2.禁用函數

  出於安全性的考慮,ACE禁用了一些php函數,禁用的標准主要有四點::

  1) 出於對安全性的考慮

  2)出於對資源管理的考慮

  3) 不常用的API

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

  詳細的限制列表請參考:安全禁用函數列表

  3.解決方法

  安全禁用函數的具體影響以及解決方法:

  1) 文件緩存

  CE本地文件讀寫受限制,雖然通過上面的文件讀寫同步可以實現,但是考慮到效率問題,建議在文件緩存上面再部署一層全文memcache緩存結構。

  2) Memcache緩存

  //連接

  $mem = new Memcache(); //創建memcache對象,內部會訪問agent獲取地址及ID

  $mem->init();

  //保存數據

  $mem->set('key1', 'This is first value', 0, 60);

  $val = $mem->get('key1');

  //替換數據

  $mem->replace('key1', 'This is replace value', 0, 60);

  $val = $mem->get('key1');

  //保存數組

  $arr = array('aaa', 'bbb', 'ccc', 'ddd');

  $mem->set('key2', $arr, 0, 60);

  $val2 = $mem->get('key2');

  //刪除數據

  $mem->delete('key1');

  $val = $mem->get('key1');

  //關閉連接

  $mem->close();

  ?>

  3) 存儲服務

  由於不能直接寫本地文件,move_uploaded_file 方法已不能正常使用,改用ACE提供方法支持

  move_uploaded_file($tmp_name, $filename)

  替換為:

  $ce = new CEStorage();

  $result = $ce->upload($tmp_name, $filename);

  #$rs1 = $ce->errmsg(); 輸出錯誤信息

  #$rs2 = $ce->errno();

  $result 為返回的附件文件路徑,形如: www.domain.com/ACE_bucket/$filename

  該路徑可直接訪問。

copyright © 萬盛學電腦網 all rights reserved