Install PHP Manual di macOS (Tanpa Homebrew)

Jika kamu ingin menginstal PHP secara manual tanpa Homebrew, berikut langkah-langkahnya:

1. Cek Versi macOS dan PHP yang Ada

Sebelum menginstal PHP, cek apakah PHP sudah tersedia:

php -v

2. Download PHP dari Sumber Resmi

  1. Kunjungi Situs PHP Resmi:
    🔗 https://www.php.net/downloads.php
  2. Pilih versi PHP yang diinginkan (misalnya PHP 8.1 atau 8.2).
  3. Unduh file tar.gz untuk macOS.

3. Ekstrak dan Pindahkan PHP ke Direktori yang Benar

Misalkan file yang diunduh adalah php-8.2.0.tar.gz, ekstrak dengan:

tar -xvzf php-8.2.0.tar.gz
cd php-8.2.0

4. Install Dependencies (Jika Perlu)

PHP membutuhkan beberapa library. Instal secara manual jika belum ada:

xcode-select --install    # Install Xcode Command Line Tools (wajib)

Pastikan juga libxml2zlib, dan OpenSSL sudah ada. Cek dengan:

pkg-config --modversion libxml-2.0
pkg-config --modversion zlib
pkg-config --modversion openssl

5. Compile PHP Secara Manual

Jalankan perintah berikut di dalam folder hasil ekstraksi:

./configure --prefix=/usr/local/php --with-zlib --with-openssl --enable-mbstring --enable-intl
make -j$(sysctl -n hw.ncpu)
sudo make install

6. Konfigurasi PHP

Agar bisa menggunakan PHP di terminal, tambahkan ke .zshrc (untuk macOS terbaru) atau .bashrc:

echo 'export PATH="/usr/local/php/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

php -v

Jika berhasil, akan muncul versi PHP.

7. Konfigurasi php.ini

Copy file konfigurasi contoh:

cp /usr/local/php/lib/php.ini-development /usr/local/php/lib/php.ini

Edit sesuai kebutuhan:

nano /usr/local/php/lib/php.ini

Misalnya, ubah zona waktu:

date.timezone = Asia/Jakarta

Lalu simpan (CTRL + X, lalu Y, tekan Enter).

8. Jalankan PHP Built-in Server (Opsional)

Jika ingin menjalankan PHP sebagai server lokal:

php -S localhost:8000

Akses di browser:
http://localhost:8000

Sekarang PHP sudah terinstal secara manual di macOS tanpa Homebrew. 🚀
Jika ada error, beri tahu saya! 

hyvercode

PHP Numeric strings

String PHP dianggap numerik jika dapat diinterpreted sebagai int atau float. Secara resmi pada PHP 8.0.0:

WHITESPACES      \s*
LNUM             [0-9]+
DNUM             ([0-9]*)[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM    (({LNUM} | {DNUM}) [eE][+-]? {LNUM})
INT_NUM_STRING   {WHITESPACES} [+-]? {LNUM} {WHITESPACES}
FLOAT_NUM_STRING {WHITESPACES} [+-]? {EXPONENT_DNUM} {WHITESPACES}
NUM_STRING       ({INT_NUM_STRING} | {FLOAT_NUM_STRING})

PHP juga memiliki konsep leading numeric string. Ini hanyalah string yang dimulai seperti string numerik diikuti oleh karakter apa pun.

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // TypeError as of PHP 8.0.0, $foo is integer (1) previously
$foo = 1 + "bob3";                // TypeError as of PHP 8.0.0, $foo is integer (1) previously
$foo = 1 + "10 Small Pigs";       // $foo is integer (11) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
$foo = "10.0 pigs " + 1;          // $foo is float (11) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
$foo = "10.0 pigs " + 1.0;        // $foo is float (11) and an E_WARNING is raised in PHP 8.0.0, E_NOTICE previously
?>

Source code project ini dapat di download di Github php-tutorial

hyvercode

PHP Booleans

Boolean atau bool adalah type data yang hanya memiliki inlay true atau false, inlay boolean bersifat case-sensitive contoh syntax pengunaan tipe data boolean seperti berikut :

<?php
 $foo = true //assign the value TRUE to $foo
?>
<?php

 $foo = true;

 if($foo){
     echo 'TRUE';
 }else{
     echo 'FALSE';
 }

?>
TRUE

Source code project ini dapat di download di Github php-tutorial

hyvercode

PHP tags

PHP ditulis dalam tags (<?php ) sebagai tags pembuka dan ( ?> ) untuk tags penutup, PHP interpreter akan mengeksekusi scripts PHP mulau Dari tag pembuka sampan tags penutup. contoh penulisan tags PHP

<?php echo 'Hello alfaz.id' ?>
Hello alfaz.id

atau bisa juga kita memulis secara singkat seperti berikut :

<?= 'Hello alfaz.id' ?>
Hello alfaz.id

Penulisan script PHP dalam file .html

Snytax atau script di luar tag pembuka dan penutup maka akan diabaikan oleh parser PHP yang memungkinkan file PHP memiliki konten campuran. Hal ini memungkinkan PHP untuk disematkan dalam dokumen HTML, misalnya untuk membuat template.

<p>Belajar PHP</p>
<?php echo 'Bersama' ?>
<p>alfaz.id</p>
Belajar PHP

Bersama

alfaz.id

Source code project ini dapat di download di Github php-tutorial

hyvercode

PHP GET & POST Methods

Pada PHP ada dua methods yang digunakan browser untuk mengirim informasi ke webserver (PHP) yaitu :

Methode GET

Methode get adalah meminta representasi/informasi kepada server dengan cara url encode yaitu semua paramater yang dikirim ke server terdapat pada url contoh sebagai berikut

(more…)

hyvercode

PHP String

Dalam bahasa pemograman , string secara tradisional merupakan urutan karakter, baik sebagai konstanta literal atau sebagai variable sedangkan dalam bahasa formal yang digunakan dalam logika matematika dan ilmu komputer treoretis, string adalah urutan simbol yang terbatas yang dipilih dari himpunan yang disebut alfabet.

(more…)

hyvercode

PHP Array

Array adalah struktur data yang menyimpan satu atau lebih tipe nilai yang serupa dalam nilai tunggal. Misalnya jika kita ingin menyimpan 10 angka maka kita bisa mendefinisikan dalam array dengan panjang 10 berikut beberapa jenis array:

Array tanpa key

array = (value, value,..)

Array dengan key

array(
    key  => value,
    key2 => value2,
    key3 => value3,
    ...
)

Array Numerik

Array ini dapat menyimpan angka,string dan object apapun tetapi indeknya akan diwakili oleh angka, secara default index dimulai dari nol.

<?php

//buat array
$angka = array(1,2,3,4,5);
// cetak array dengan looping
   foreach($angka as $value){
      echo "Angka =$value </br>";
   }

?>

Array Asosiatif

Array asosiatif mirip dengan arrray numerik dalam hal fungsionalitas tetapi mereka berbeda dalah hal index mereka. Array asositif memiliki indeks sebagai string.

<?php
   
   // inisialisai nilai array
   $employee = array('dedi'=>200,'dadang'=>300,'eka' => 400);

   // cetak array
   echo "Gaji Dedi = ". $employee['dedi']."<br/>";
   echo "Gaji Dadang = ". $employee['dadang']."<br/>";
   echo "Gaji Eka = ". $employee['eka']."<br/>";
?>

Array Multidimensi

Array multidimensi ialah setiap elemen dalam array utama bisa menjadi sebuah array, dan setiap elemen dalam sub array dapat berupa array dan seterusnya. Nilai dalam array multidimensi diakses menggunakan index berganda ([key][key]);

<?php
         $marks = array( 
            "mohammad" => array (
               "physics" => 35,
               "maths" => 30,	
               "chemistry" => 39
            ),
            
            "qadir" => array (
               "physics" => 30,
               "maths" => 32,
               "chemistry" => 29
            ),
            
            "zara" => array (
               "physics" => 31,
               "maths" => 22,
               "chemistry" => 39
            )
         );
         
         /* Accessing multi-dimensional array values */
         echo "Marks for mohammad in physics : " ;
         echo $marks['mohammad']['physics'] . "<br />"; 
         
         echo "Marks for qadir in maths : ";
         echo $marks['qadir']['maths'] . "<br />"; 
         
         echo "Marks for zara in chemistry : " ;
         echo $marks['zara']['chemistry'] . "<br />"; 
?>

Source code project ini dapat di download di Github php-tutorial

hyvercode

PHP Loop Types

Loop dalam PHP digunakan untuk mengeksekusi blok kode yang sama beberapa kali. PHP mendukung empat jenis loop berikut :

For Loop

For Loop digunakan ketika kita megetahui berapa lama/banyak sebuah pernyataan itu di ekseskusi.

(more…)

hyvercode

PHP Decision Making

PHP control statement memungkinkan Anda membuat keputusan, berdasarkan hasil dari suatu kondisi. Pernyataan ini disebut sebagai Control statement atau decision making. If, elseif ..else dan swicth adalah statement yang bisa digunakan untuk membuat decision making (pengambilan keputusan) berdasarkan kondisi tertentu.

(more…)

hyvercode

PHP Operators Types

Operators adalah simbol atau tanda yang diletakan pada duah operand (data) yang dapat mengahasilkan sebuah hasil, operator berupa simbol yang digunakan untuk suatu expresi dengan melibatkan satu atau beberapa operand.

(more…)

hyvercode