首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

新浪 SAE 雲平台上配置 CodeIgniter 資料庫連線完整指南

     編輯:PHP 綜合知識

在新浪 SAE(Sina App Engine)雲平台上部署 CodeIgniter 專案時,由於平台對檔案系統權限的嚴格限制,快取目錄無法正常寫入,導致原版 CodeIgniter 無法直接運行。開發者通常會採用社群維護的 CodeIgniter 2.10 for SAE 版本(專案地址:ci-sae),該版本已針對 SAE 環境進行適配。

資料庫配置核心代碼

在 application/config/database.php 中,需使用 SAE 內建常數來配置連線參數,確保與平台提供的 MySQL 服務正確對接:

$db['default']['hostname'] = SAE_MYSQL_HOST_M;
$db['default']['username'] = SAE_MYSQL_USER;
$db['default']['password'] = SAE_MYSQL_PASS;
$db['default']['database'] = SAE_MYSQL_DB;
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['default']['port'] = SAE_MYSQL_PORT;

關鍵配置項解析

其中有兩個參數至關重要,配置錯誤會直接導致資料庫連線失敗:

  • dbdriver 設為 'mysqli':SAE 環境建議使用 mysqli 驅動,而非預設的 mysql 驅動,以獲得更好的相容性與效能。
  • pconnect 設為 FALSE:必須關閉持久連線。SAE 的資料庫連線機制不支援長連線,啟用時會拋出 Unable to connect to your database server 錯誤,錯誤堆疊通常指向 core/Loader.php 第 346 行。

常見錯誤與排查

若出現以下錯誤提示,請優先檢查上述兩項配置:

A Database Error Occurred
Unable to connect to your database server using the provided settings.
Filename: core/Loader.php
Line Number: 346

此外,確保 cache_on 設為 FALSE 且 cachedir 為空,避免因檔案系統唯讀導致快取寫入失敗。採用 SAE 專用常數(如 SAE_MYSQL_HOST_M、SAE_MYSQL_PORT)可自動適配平台分配的資料庫實例,無需硬編碼 IP 與埠號,提升部署靈活性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved