Cara menggunakan mutex php example

Get-Or-Create provides a simple way to attempt retrieval of a value, or create it using a mutex if it doesn't already exist

$getClosure = function() {
    // attempt to get a value, eg. from DB, cache, etc.
    if (!$value) {
        throw new \Phlib\Mutex\NotFoundException();
    }
    return $value;
};

$createClosure = function() {
    // attempt to create a value and write eg. to DB, cache, etc.
    return $value;
};

$value = \Phlib\Mutex\Helper::getOrCreate($mutex, $getClosure, $createClosure);

License

This package is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Instal server web pada instans EC2 yang Anda buatMeluncurkan instans EC2. Server web terhubung ke klaster DB Amazon Aurora yang Anda buat diMembuat klaster DB Amazon Aurora.

Menginstal server web Apache dengan PHP dan MariaDB

Connect ke instans EC2 Anda dan instal server web.

Untuk terhubung ke instans EC2 Anda dan menginstal server web Apache dengan PHP

  1. Hubungkan ke instans EC2 yang Anda buat sebelumnya dengan mengikuti langkah-langkah di Terhubung ke instans Linux Anda.

  2. Dapatkan perbaikan bug terbaru dan pembaruan keamanan dengan memperbarui perangkat lunak di instans EC2 Anda. Untuk melakukannya, gunakan perintah berikut.

    Opsi

    sudo amazon-linux-extras install php8.0 mariadb10.5
    9 menginstal pembaruan tanpa meminta konfirmasi. Hilangkan opsi ini untuk memeriksa pembaruan sebelum menginstal.

    sudo yum update -y
  3. Setelah pembaruan selesai, instal perangkat lunak PHP menggunakan perintah

    cat /etc/system-release
    0. Perintah ini menginstal beberapa paket perangkat lunak dan dependensi terkait pada waktu yang sama.

    sudo amazon-linux-extras install php8.0 mariadb10.5

    Jika Anda menerima kesalahan yang menyatakan

    cat /etc/system-release
    1, instans Anda tidak diluncurkan dengan Amazon Linux 2 AMI. Anda mungkin menggunakan Amazon Linux AMI sebagai gantinya. Anda dapat melihat versi Amazon Linux Anda menggunakan perintah berikut.

    cat /etc/system-release

    Untuk informasi selengkapnya, lihat Memperbarui perangkat lunak instans.

  4. Instal server web Apache.

    sudo yum install -y httpd
  5. Memulai server web dengan perintah yang ditampilkan sebagai berikut.

    sudo systemctl start httpd

    Anda dapat menguji bahwa server web Anda terinstal dan berjalan dengan benar. Untuk melakukannya, masukkan nama publik Sistem Nama Domain (DNS) dari instans EC2 Anda di bilah alamat peramban web, misalnya:

    cat /etc/system-release
    2. Jika server web Anda berjalan, maka Anda akan melihat halaman uji Apache.

    Jika Anda tidak melihat halaman uji Apache, periksa aturan masuk Anda untuk grup keamanan VPC yang Anda buat di Tutorial: Buat VPC untuk digunakan dengan DBgugus(Hanya IPv4). Pastikan bahwa aturan masuk Anda mencakup satu akses HTTP (port 80) untuk alamat IP untuk terhubung ke server web.

    Halaman uji Apache hanya muncul bila tidak ada konten dalam direktori root dokumen,

    cat /etc/system-release
    3. Setelah Anda menambahkan konten ke direktori akar dokumen, konten Anda akan muncul di alamat DNS publik dari instans EC2 Anda. Sebelum titik ini, muncul di halaman uji Apache.

  6. Konfigurasikan server web untuk memulai dengan setiap boot sistem menggunakan perintah

    cat /etc/system-release
    4.

    sudo systemctl enable httpd

Untuk mengizinkan

cat /etc/system-release
5 untuk mengelola file di direktori root default untuk server web Apache Anda, ubah kepemilikan dan izin direktori
cat /etc/system-release
6. Ada banyak cara untuk menyelesaikan tugas ini. Dalam tutorial ini, Anda menambahkan
cat /etc/system-release
5 ke grup
cat /etc/system-release
8, untuk memberikan kepemilikan grup
cat /etc/system-release
8 atas direktori
cat /etc/system-release
6 dan menetapkan izin tulis ke grup.

Untuk mengatur izin file untuk server web Apache

  1. Tambahkan pengguna

    cat /etc/system-release
    5 ke grup
    cat /etc/system-release
    8.

    sudo usermod -a -G apache ec2-user
  2. Keluar untuk menyegarkan izin Anda dan masukkan grup

    cat /etc/system-release
    8 baru.

    exit
  3. Masuk kembali dan verifikasi bahwa grup

    cat /etc/system-release
    8 ada dengan perintah
    sudo yum install -y httpd
    5.

    groups

    Output Anda terlihat serupa dengan yang berikut ini:

    ec2-user adm wheel apache systemd-journal
  4. Ubah kepemilikan grup atas direktori

    cat /etc/system-release
    6 dan kontennya ke grup
    cat /etc/system-release
    8.

    sudo amazon-linux-extras install php8.0 mariadb10.5
    0
  5. Ubah izin direktori

    cat /etc/system-release
    6 dan subdirektorinya untuk menambahkan izin tulis grup dan atur ID grup pada subdirektori yang dibuat di masa mendatang.

    sudo amazon-linux-extras install php8.0 mariadb10.5
    1
  6. Ubah izin file secara berulang di direktori

    cat /etc/system-release
    6 dan subdirektorinya untuk menambahkan izin tulis grup.

    sudo amazon-linux-extras install php8.0 mariadb10.5
    2

Sekarang,

cat /etc/system-release
5(dan setiap anggota future
cat /etc/system-release
8kelompok) dapat menambahkan, menghapus, dan mengedit file dalam akar dokumen Apache. Ini memungkinkan Anda untuk menambahkan konten, seperti situs web statis atau aplikasi PHP.

Server web yang menjalankan protokol HTTP tidak memberikan keamanan transportasi untuk data yang dikirim atau diterimanya. Saat Anda terhubung ke server HTTP menggunakan browser web, banyak informasi akan terlihat oleh penyadap di mana saja di sepanjang jalur jaringan. Informasi ini mencakup URL yang Anda kunjungi, konten halaman web yang Anda terima, dan konten (termasuk kata sandi) dari setiap formulir HTML.

Praktik terbaik untuk mengamankan server web Anda adalah dengan menginstal dukungan untuk HTTPS (HTTP Secure). Protokol ini melindungi data Anda dengan enkripsi SSL/TLS. Untuk informasi selengkapnya, lihatTutorial: Mengonfigurasi SSL/TLS dengan Amazon Linux AMIdi dalamPanduan Pengguna Amazon EC2.

Connect server web Apache Anda ke DB Andagugus

Selanjutnya, Anda menambahkan konten ke server web Apache yang terhubung ke klaster DB Amazon Aurora Anda.

Untuk menambahkan konten ke server web Apache yang terhubung ke klaster DB

  1. Saat masih terhubung ke instans EC2 Anda, ubah direktori ke

    cat /etc/system-release
    6 dan buat subdirektori baru yang diberi nama
    sudo systemctl start httpd
    3.

    sudo amazon-linux-extras install php8.0 mariadb10.5
    3
  2. Buat file baru dalam direktori

    sudo systemctl start httpd
    3 yang diberi nama
    sudo systemctl start httpd
    5, dan kemudian edit file tersebut dengan menggunakan nano (atau editor pilihan Anda).

    sudo amazon-linux-extras install php8.0 mariadb10.5
    4
  3. Tambahkan konten berikut ini ke file

    sudo systemctl start httpd
    5. Di sini,
    sudo systemctl start httpd
    7 adalah titik akhir penulis klaster DB, tanpa port, dan
    sudo systemctl start httpd
    8 adalah kata sandi utama untuk klaster DB Anda.

    Kami menyarankan untuk menempatkan nama pengguna dan informasi kata sandi dalam folder yang bukan bagian dari root dokumen untuk server web Anda. Hal ini mengurangi kemungkinan informasi keamanan Anda terungkap.

    sudo amazon-linux-extras install php8.0 mariadb10.5
    5
  4. Simpan dan tutup file

    sudo systemctl start httpd
    5.

  5. Ubah direktori ke

    cat /etc/system-release
    3.

    sudo amazon-linux-extras install php8.0 mariadb10.5
    6
  6. Buat file baru dalam direktori

    sudo systemctl enable httpd
    1 yang diberi nama
    sudo systemctl enable httpd
    2, dan kemudian edit file tersebut dengan menggunakan nano (atau editor pilihan Anda).

    sudo amazon-linux-extras install php8.0 mariadb10.5
    7
  7. Tambahkan konten berikut ini ke file

    sudo systemctl enable httpd
    2:

    sudo amazon-linux-extras install php8.0 mariadb10.5
    8
  8. Simpan dan tutup file

    sudo systemctl enable httpd
    2.

  9. Verifikasi bahwa server web Anda berhasil terhubung ke klaster DB Anda dengan membuka browser web dan menelusuri ke

    sudo systemctl enable httpd
    5/SamplePage.php, misalnya:
    sudo systemctl enable httpd
    6.

Anda dapat menggunakan

sudo systemctl enable httpd
2 untuk menambahkan data ke klaster DB Anda. Data yang Anda tambahkan kemudian ditampilkan di halaman. Untuk memverifikasi bahwa data dimasukkan ke dalam tabel, instal klien MySQL pada instans Amazon EC2. Kemudian terhubung ke DBgugusdan kueri tabel.

Untuk informasi tentang menghubungkan ke klaster DB, lihatMenghubungkan ke klaster DB Amazon Aurora.

Untuk memastikan klaster DB Anda seaman mungkin, verifikasi bahwa sumber di luar VPC tidak dapat terhubung ke klaster. DB Anda.

Setelah selesai menguji server web dan database Anda, Anda harus menghapus klaster DB dan instans Amazon EC2 Anda.