2016-07-08 37 views
0

我正在嘗試使用此Mac版本安裝Wordpress。我可以在本地使用以下設置部署:在GAE中部署和使用Cloud SQL

define('DB_NAME', 'db_name'); 
/** Local environment MySQL login info */ 
define('DB_HOST', 'localhost'); 
define('DB_USER', 'root'); 
define('DB_PASSWORD', 'whatever'); 

然而,當我嘗試使用雲SQL部署它,我似乎無法找出正確的設置。

在DB_HOST,我曾嘗試以下:

  • :/cloudsql/project-id:custom-db-instance
  • :/cloudsql/project-id:region:custom-db-instance
  • :/cloudsql/project-id:wordpress
  • :/cloudsql/project-id:region:wordpress
  • 雲的SQL Server的IP地址

使用的app.yaml,我已經設置的app.yaml env_variables爲以下:

  • MYSQL_DSN:MySQL的:unix_socket =/CLOUDSQL/INSTANCE_CONNECTION_NAME; DBNAME = DATABASE
  • MYSQL_USER:根
  • MYSQL_PASSWORD: ''

我想知道什麼是真正的設置,因爲文檔看起來不統一。這裏是我的文檔閱讀:

回答

0

您使用AppEngine上?確保您已授權實例的訪問控制選項卡中的appengine進程。在所有示例中,它們都是「/ cloudsql /」後實例的實例連接名稱。你可以在你的實例詳細信息頁面找到它。對於v1實例,格式爲:。對於V2實例,格式爲::。

+0

實例連接名稱表示'project-id:region:wordpress'。我應該如何格式化主機?我試過'::/cloudsql/project-id:region:wordpress'。 SQL實例詳細信息頁面還顯示「此項目中的應用程序:所有授權」,因爲GAE和Cloud SQL都在一個項目中。 –

+0

您不應該使用DB_HOST。按照https://cloud.google.com/appengine/docs/php/cloud-sql/編輯您的app.yaml。然後,只需嘗試下面的代碼: $ app ['database'] = function()use($ app){ $ dsn = getenv('MYSQL_DSN'); $ user = getenv('MYSQL_USER'); $ password = getenv('MYSQL_PASSWORD');如果(!isset($ dsn,$ user)|| false === $ password){ 拋出新異常('Set MYSQL_DSN,MYSQL_USER,and MYSQL_PASSWORD environment variables'); } $ db = new PDO($ dsn,$ user,$ password); return $ db; }; – Herman

+0

我也讀過這個。雖然Wordpress不使用DSN。我想我只是要使用Google Cloud SQL並使用Cloud SQL Launcher。 –