在 Google Cloud Platform 上執行 PHP

查看說明文件

PHP 工具可讓您建構雲端原生應用程式、執行大規模部署作業及分析資料

  • 建構可擴充的網路應用程式和 API
  • 存取全代管的 MySQL、NoSQL 或 PostgreSQL 資料庫
  • 使用支援原生程式庫的 Google 機器學習 API
  • 執行大規模的容器化應用程式
  • 部署您偏好的架構或 CMS
精心打造的 Composer 套件

透過 Google Cloud Composer 套件充分利用 Google 的 API 和服務,並測試執行程式碼範例。

上傳檔案至 Google Cloud Storage
使用 Google BigQuery 執行資料分析
將記錄資料寫入 Stackdriver Logging
透過 Cloud Natural Language API 分析文字
上傳檔案至 Google Cloud Storage
1
安裝
$ composer require google/cloud-storage
2
設定 Google Cloud Platform 專案
  1. 在 GCP 主控台中,前往「Manage resources」(管理資源) 頁面,選取或建立專案。

    前往「Manage resources」(管理資源) 頁面

  2. 請確認您已啟用 Google Cloud Platform 專案的計費功能。

    瞭解如何啟用計費功能

  3. 啟用Cloud Storage API。

    啟用 API

3
編寫程式碼
use Google\Cloud\Storage\StorageClient;

/**
 * Upload a file.
 *
 * @param string $bucketName the name of your Google Cloud bucket.
 * @param string $objectName the name of the object.
 * @param string $source the path to the file to upload.
 *
 * @return Psr\Http\Message\StreamInterface
 */
function upload_object($bucketName, $objectName, $source)
{
    $storage = new StorageClient();
    $file = fopen($source, 'r');
    $bucket = $storage->bucket($bucketName);
    $object = $bucket->upload($file, [
        'name' => $objectName
    ]);
    printf('Uploaded %s to gs://%s/%s' . PHP_EOL, basename($source), $bucketName, $objectName);
}
使用 Google BigQuery 執行資料分析
1
安裝
$ composer require google/cloud-bigquery
2
設定 Google Cloud Platform 專案
  1. 在 GCP 主控台中,前往「Manage resources」(管理資源) 頁面,選取或建立專案。

    前往「Manage resources」(管理資源) 頁面

  2. 請確認您已啟用 Google Cloud Platform 專案的計費功能。

    瞭解如何啟用計費功能

  3. 啟用BigQuery API。

    啟用 API

3
編寫程式碼
require __DIR__ . '/vendor/autoload.php';

use Google\Cloud\BigQuery\BigQueryClient;

// get the project ID as the first argument
if (2 != count($argv)) {
    die("Usage: php stackoverflow.php YOUR_PROJECT_ID\n");
}

$projectId = $argv[1];

$bigQuery = new BigQueryClient([
    'projectId' => $projectId,
]);
$query = <<<ENDSQL
SELECT
  CONCAT(
    'https://stackoverflow.com/questions/',
    CAST(id as STRING)) as url,
  view_count
FROM `bigquery-public-data.stackoverflow.posts_questions`
WHERE tags like '%google-bigquery%'
ORDER BY view_count DESC
LIMIT 10;
ENDSQL;
$queryJobConfig = $bigQuery->query($query);
$queryResults = $bigQuery->runQuery($queryJobConfig);

if ($queryResults->isComplete()) {
    $i = 0;
    $rows = $queryResults->rows();
    foreach ($rows as $row) {
        printf('--- Row %s ---' . PHP_EOL, ++$i);
        printf('url: %s, %s views' . PHP_EOL, $row['url'], $row['view_count']);
    }
    printf('Found %s row(s)' . PHP_EOL, $i);
} else {
    throw new Exception('The query failed to complete');
}
將記錄資料寫入 Stackdriver Logging
1
安裝
$ composer require google/cloud-logging
2
設定 Google Cloud Platform 專案
  1. 在 GCP 主控台中,前往「Manage resources」(管理資源) 頁面,選取或建立專案。

    前往「Manage resources」(管理資源) 頁面

  2. 請確認您已啟用 Google Cloud Platform 專案的計費功能。

    瞭解如何啟用計費功能

  3. 啟用Stackdriver Logging API。

    啟用 API

3
編寫程式碼
# Includes the autoloader for libraries installed with composer
require __DIR__ . '/vendor/autoload.php';

# Imports the Google Cloud client library
use Google\Cloud\Logging\LoggingClient;

# Your Google Cloud Platform project ID
$projectId = 'YOUR_PROJECT_ID';

# Instantiates a client
$logging = new LoggingClient([
    'projectId' => $projectId
]);

# The name of the log to write to
$logName = 'my-log';

# Selects the log to write to
$logger = $logging->logger($logName);

# The data to log
$text = 'Hello, world!';

# Creates the log entry
$entry = $logger->entry($text);

# Writes the log entry
$logger->write($entry);

echo 'Logged ' . $text;
透過 Cloud Natural Language API 分析文字
1
安裝
$ composer require google/cloud-language
2
設定 Google Cloud Platform 專案
  1. 在 GCP 主控台中,前往「Manage resources」(管理資源) 頁面,選取或建立專案。

    前往「Manage resources」(管理資源) 頁面

  2. 請確認您已啟用 Google Cloud Platform 專案的計費功能。

    瞭解如何啟用計費功能

  3. 啟用Cloud Natural Language API。

    啟用 API

3
編寫程式碼
# Includes the autoloader for libraries installed with composer
require __DIR__ . '/vendor/autoload.php';

# Imports the Google Cloud client library
use Google\Cloud\Language\LanguageClient;

# Your Google Cloud Platform project ID
$projectId = 'YOUR_PROJECT_ID';

# Instantiates a client
$language = new LanguageClient([
    'projectId' => $projectId
]);

# The text to analyze
$text = 'Hello, world!';

# Detects the sentiment of the text
$annotation = $language->analyzeSentiment($text);
$sentiment = $annotation->sentiment();

echo 'Text: ' . $text . '
Sentiment: ' . $sentiment['score'] . ', ' . $sentiment['magnitude'];
PHP 快速入門導覽課程
快速找出問題並進行偵錯

Google Stackdriver 提供強大的監控、記錄與診斷功能,可讓您深入掌握雲端應用程式的健康狀態、效能和可用性,更快找出問題並加以修復。

Google Stackdriver
讓您統一監控、記錄及診斷 Google Cloud Platform 和 AWS 上的應用程式。
Stackdriver 錯誤報告
這部影片將逐步介紹如何在 Google Cloud Console 中接收錯誤快訊,並深入調查錯誤成因。
透過 Stackdriver 監控、診斷及修復問題
在這部影片中,Aja Hammerly 示範如何透過 Stackdriver 尋找及修復範例應用程式中的一些細微錯誤,讓您瞭解如何在自己的專案中使用 Stackdriver。
瞭解詳情
歡迎加入 GCP 的 PHP 社群討論空間

有任何想法或疑問嗎?加入我們的社群後,您可以提出問題,或是和協助在 Google Cloud Platform 建構 PHP 的 Google 專家交流聯繫。