![](/img/trans.png)
[英]Google App Engine - Connect to SQL Cloud Instance with php using mysqli
[英]How to connect to Google cloud SQL instance using php?
使用以下代碼可以從本地主機環境連接到我的 SQL 實例,但是當我將相同的代碼上傳到我的 VM 實例並嘗試從那里連接它時,我收到“連接失敗:連接超時”
注意:我在授權網絡部分添加了虛擬機實例的外部 IP 地址。
<?php
$servername = "SQL INSTANCE IP ADDRESS : port";
$username = "root";
$password = "password";
$dbname="appdb";
$response=array();
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
請幫忙,謝謝。
您的 Compute Engine 實例必須與您的 Cloud SQL 實例位於同一區域,並且位於為專用連接配置的網絡上
1. 使用內部 ip 地址創建 Cloud SQL實例。 創建用戶、密碼和數據庫。
復制startup-script.sh
后,運行此命令以創建實例:
gcloud compute instances create $MY_INSTANCE_NAME \
--image-family=ubuntu-1804-lts \
--image-project=ubuntu-os-cloud \
--machine-type=g1-small \
--scopes userinfo-email,cloud-platform,sql-admin \
--metadata-from-file startup-script=scripts/startup-script.sh \
--zone $ZONE \
--tags http-server
在我們添加的范圍上sql-admin
,然后創建防火牆規則。
3.SSH 到您剛剛創建的實例。
4.安裝mysql
。 您可以將此部分添加到啟動腳本中。
sudo apt install mysql-client-core-5.7
5.測試是否可以使用內部IP地址連接到SQL實例。
mysql --host=internall-ip-sql --user=test --password
6.如果您能夠連接,則:
cd /opt/app/routes
sudo nano web.php
7.將你的代碼添加到router->get('/', function (Request $request)
8.在瀏覽器中訪問http://compute-engine-instance-externall-ip
成功!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.