Deploy Simple PHP Code di Google App Engine

Diposting pada 935 views

Google App Engine (GAE) adalah sebuah layanan Platform-as-a-Service (PaaS) pada Google Cloud Platform yang dapat kita gunakan untuk menghosting aplikasi baik itu aplikasi web, mobile, maupun untuk keperluan IoT. Dengan menggunakan layanan Platform-as-a-Service seperti App Engine, kita hanya perlu fokus dalam pengembangan aplikasi tanpa perlu memikirkan infrastruktur yang digunakan untuk menjalankan aplikasi karena hal itu sudah menjadi tanggung jawab Google Cloud sebagai penyedia layanan.

Dengan menggunakan App Engine, kita bisa mendeploy aplikasi dalam bahasa pemrograman yang populer saat ini. Bahasa pemrograman yang di dukung oleh App Eggine diantaranya adalah Python, PHP, Node.js, Java, dan GO. Untuk bahasa pemrograman PHP, App Engine mendukung PHP runtime versi PHP 5 dan versi PHP 7+.

Ketika mendeploy aplikasi di App Engine, kita membutuhkan front controller untuk menangani request pada aplikasi. Oleh karena itu kita disarankan untuk menggunakan framework seperti Laravel, CodeIgniter, Symfony atau yang lainnya karena dalam framework tersebut sudah memiliki mekanisme untuk menangani request routing.

Lalu bagaimana kalau kita hanya ingin mendeploy aplikasi PHP sederhana? Apakah kita harus menggunakan framework tersebut? Bagaimana dengan aplikasi yang sudah saya buat? Eiitsss… Tenaanggg… Kan ada Nippon Elastek.

Iklan Nippon Paint

Secara default, App Engine menggunakan file public/index.php atau index.php untuk menjalankan aplikasi. Untuk itu, kita bisa menggunakan file tersebut untuk mengimport file PHP yang kita gunakan. Dengan kata lain, kita bisa membuat front controller secara manual dengan memanfaatkan file index.php. Kurang lebih contohnya adalah seperti berikut ini:

<?php
switch (@parse_url($_SERVER['REQUEST_URI'])['path']) {
    case '/':
        require 'home.php';
        break;
    case '/about':
        require 'about.php';
        break;
    case '/contact':
        require 'contact.php';
        break;
    default:
        http_response_code(404);
        exit('Not Found');
}
?>

Dalam kode diatas, ketika kita mengakses root path website maka yang akan ditampilkan adalah halaman home.php. Apabila kita mengakses path /about, maka yang akan ditampilkan adalah halaman about.php dan begitu seterusnya. Namun, jika kita mengakses path secara acak maka website akan menampilkan Not Found.

Berikut kode untuk file home.php, about.php, dan contact.php.

<!DOCTYPE html>
<html>
    <head>
        <title>Simple PHP Code</title>
        <style>
            ul {
                list-style-type: none;
                margin: 0;
                padding: 0;
                overflow: hidden;
                background-color: #333;
            }

            li {
                float: left;
            }

            li a {
                display: block;
                color: white;
                text-align: center;
                padding: 14px 16px;
                text-decoration: none;
            }

            li a:hover {
                background-color: #111;
            }

            .active{
                background-color: #111;
            }

            h1 {
                padding: 8px;
                text-align: center;
            }
        </style>
    </head>
<body>

<ul>
  <li><a class="active" href="/">Home</a></li>
  <li><a href="/contact">Contact</a></li>
  <li><a href="/about">About</a></li>
</ul>

<?php
    echo "<h1>This is Home Page</h1>";
?>

</body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <title>Simple PHP Code</title>
        <style>
            ul {
                list-style-type: none;
                margin: 0;
                padding: 0;
                overflow: hidden;
                background-color: #333;
            }

            li {
                float: left;
            }

            li a {
                display: block;
                color: white;
                text-align: center;
                padding: 14px 16px;
                text-decoration: none;
            }

            li a:hover {
                background-color: #111;
            }

            .active{
                background-color: #111;
            }

            h1 {
                padding: 8px;
                text-align: center;
            }
        </style>
    </head>
<body>

<ul>
  <li><a href="/">Home</a></li>
  <li><a href="/contact">Contact</a></li>
  <li><a class="active" href="/about">About</a></li>
</ul>

<?php
    echo "<h1>This is About Page</h1>";
?>

</body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <title>Simple PHP Code</title>
        <style>
            ul {
                list-style-type: none;
                margin: 0;
                padding: 0;
                overflow: hidden;
                background-color: #333;
            }

            li {
                float: left;
            }

            li a {
                display: block;
                color: white;
                text-align: center;
                padding: 14px 16px;
                text-decoration: none;
            }

            li a:hover {
                background-color: #111;
            }

            .active{
                background-color: #111;
            }

            h1 {
                padding: 8px;
                text-align: center;
            }
        </style>
    </head>
<body>

<ul>
  <li><a href="/">Home</a></li>
  <li><a class="active" href="/contact">Contact</a></li>
  <li><a href="/about">About</a></li>
</ul>

<?php
    echo "<h1>This is Contact Page</h1>";
?>

</body>
</html>

Setelah kode PHP kita siap, kita tinggal membuat file app.yaml seperti berikut:

runtime: php74

Terakhir kita tinggal mendeploy aplikasi dengan menjalankan perintah gcloud app deploy.

Dan aplikasi PHP kita sudah berjalan dengan baik.

Deploy PHP App Engine

Sekian, semoga bermanfaat 🙂