This posting is not a php-only problem, but hopefully will save someone a few hours of headaches. Running on MacOS (although this could happen on any *nix I suppose), I was unable to get the script to execute without specifically envoking php from the command line:
[macg4:valencia/jobs] tim% test.php
./test.php: Command not found._
However, it worked just fine when php was envoked on the command line:_
[macg4:valencia/jobs] tim% php test.php
Well, here we are... Now what?
Was file access mode set for executable? Yup.
[macg4:valencia/jobs] tim% ls -l
total 16
-rwxr-xr-x 1 tim staff 242 Feb 24 17:23 test.php
And you did, of course, remember to add the php command as the first line of your script, yeah? Of course.
#!/usr/bin/php
So why dudn't it work? Well, like I said.. on a Mac... but I also occasionally edit the files on my Windows portable (i.e. when I'm travelling and don't have my trusty Mac available)... Using, say, WordPad on Windows.. and BBEdit on the Mac...
Aaahhh.. in BBEdit check how the file is being saved! Mac? Unix? or Dos? Bingo. It had been saved as Dos format. Change it to Unix:
[macg4:valencia/jobs] tim% test.php
./test.php: Command not found._0
[macg4:valencia/jobs] tim% test.php
./test.php: Command not found._1
Bagian ini berisi catatan dan petunjuk khusus untuk menjalankan PHP dari baris perintah untuk Windows
Catatan
Anda harus membaca langkah-langkah instalasi manual terlebih dahulu
Menjalankan PHP dari baris perintah dapat dilakukan tanpa membuat perubahan apa pun pada Windows
C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
Namun ada beberapa langkah mudah yang bisa diikuti untuk membuatnya lebih sederhana. Beberapa dari langkah-langkah ini seharusnya sudah dilakukan, tetapi diulangi di sini agar dapat memberikan urutan langkah demi langkah yang lengkap
Tambahkan lokasi executable PHP (php. exe, php-win. exe atau php-cli. exe tergantung pada versi PHP Anda dan preferensi tampilan) ke variabel lingkungan PATH. Baca lebih lanjut tentang cara menambahkan direktori PHP Anda ke PATH di
Tambahkan ekstensi .PHP ke variabel lingkungan PATHEXT. Ini dapat dilakukan bersamaan dengan mengubah variabel lingkungan PATH. Ikuti langkah-langkah yang sama seperti yang dijelaskan di tetapi ubah variabel lingkungan PATHEXT daripada variabel lingkungan PATH
Catatan
Posisi di mana Anda menempatkan .PHP akan menentukan skrip atau program mana yang dijalankan ketika ada nama file yang cocok. Misalnya, menempatkan .PHP_ sebelum ftype phpfile="C:\php\php.exe" -f "%1" -- %~2 0 akan menyebabkan skrip Anda berjalan, bukan file batch, jika ada file batch dengan nama yang sama
Kaitkan ekstensi .PHP dengan jenis file. Ini dilakukan dengan menjalankan perintah berikut
Kaitkan jenis file ftype phpfile="C:\php\php.exe" -f "%1" -- %~2 _2 dengan PHP yang dapat dieksekusi yang sesuai. Ini dilakukan dengan menjalankan perintah berikut
ftype phpfile="C:\php\php.exe" -f "%1" -- %~2 _
Catatan
Baik PATH dan PATHEXT adalah variabel sistem penting yang sudah ada sebelumnya di Windows, dan kehati-hatian harus dilakukan untuk tidak menimpa salah satu variabel, hanya untuk menambahkannya.
Mengikuti langkah-langkah ini akan memungkinkan skrip PHP dijalankan dari direktori mana pun tanpa perlu mengetik PHP yang dapat dieksekusi atau ekstensi .PHP dan semua parameter akan diberikan ke skrip untuk diproses
Contoh di bawah merinci beberapa perubahan registri yang dapat dilakukan secara manual
Contoh #1 Perubahan registri
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php] @="phpfile" "Content Type"="application/php" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile] @="PHP Script" "EditFlags"=dword:00000000 "BrowserFlags"=dword:00000008 "AlwaysShowExt"="" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon] @="C:\\php\\php-win.exe,0" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell] @="Open" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open] @="&Open" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command] @="\"C:\\php\\php.exe\" -f \"%1\" -- %~2" _
Dengan perubahan ini, perintah yang sama dapat ditulis sebagai
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
atau, jika jalur ftype phpfile="C:\php\php.exe" -f "%1" -- %~2 _4 Anda ada di variabel lingkungan PATHCatatan
Ada sedikit masalah jika Anda berniat menggunakan teknik ini dan menggunakan skrip PHP Anda sebagai filter baris perintah, seperti contoh di bawah ini
Apa gunanya perintah PHP V dijalankan di command prompt?
Perintah - v sendiri berfungsi untuk menampilkan versi PHP . Jika terlihat versi PHP seperti gambar di atas, berarti file php . exe dapat diakses secara global.Apa itu baris perintah php?
PHP CLI ( Baris Perintah Antarmuka) adalah PHP yang berjalan di Command Line . PHP CLI memungkinkan kita mengembangkan aplikasi shell dengan PHP . PHP CLI pertama kali diperkenalkan di PHP versi 4. 2. 0 sebagai percobaan (percobaan). Salah satu contoh aplikasi shell yang berjalan di Command Line adalah Composer.