Saya tidak dapat menggunakan PHP di halaman HTML saya. Misalnya index.html
,. Saya sudah mencoba menggunakan keduanya:
<? contents ?>
dan
<?php contents ?>
Tak satu pun dari pekerjaan ini. Server saya menawarkan PHP, dan ketika saya menggunakan .php
ekstensi, itu berfungsi dengan baik. Apakah ini masalah atau apakah saya harus mengubah preferensi php.ini
?
Jawaban:
Anda tidak dapat menjalankan PHP dalam file .html karena server tidak mengenalinya sebagai ekstensi PHP yang valid kecuali Anda menyuruhnya. Untuk melakukan ini, Anda perlu membuat file .htaccess di direktori web root Anda dan menambahkan baris ini ke dalamnya:
Ini akan memberi tahu Apache untuk memproses file dengan ekstensi file .htm atau .html sebagai file PHP.
sumber
.htaccess
jika itu adalah opsi..html
file proses server sebagai PHP bahkan tidak diperlukan, atau membantu, dalam mengikutinya. Anda ingin pengguna berkunjungexample.com/foo
. Anda dapat menggunakan URL tersebut untuk menyajikan konten PHP apa pun nama file di server Anda. Jika pengguna sudahfoo.html
mem - bookmark, Anda tetap dapat melayanifoo.php
tanpa mengganti nama file.Saya pikir menulis PHP menjadi file .html membingungkan dan anti-alami. Kenapa kamu ingin melakukan itu??
Bagaimanapun, jika yang Anda inginkan adalah mengeksekusi file PHP dan menampilkannya sebagai .html di bilah alamat, solusi termudah adalah menggunakan .php seperti biasa, dan tulis aturan di .htaccess Anda seperti ini:
sumber
Untuk menggunakan php dalam file .html, Anda harus mengasosiasikannya dengan prosesor PHP Anda di file konfigurasi server HTTP Anda. Di Apache, itu terlihat seperti ini:
sumber
AddHandler
danAddType
? Terima kasih.Anda dapat memodifikasi .htaccess seperti yang dikatakan orang lain, tetapi solusi tercepat adalah mengganti nama ekstensi file menjadi .php
sumber
Tambahkan baris ini
untuk
httpd.conf
mengajukan apa yang ingin Anda lakukan. Namun perlu diingat, jika Anda melakukan ini maka web server Anda akan sangat lambat, karena akan mengurai bahkan kode statis yang tidak akan berisi kode php. Jadi cara yang lebih baik adalah membuat ekstensi file.phtml
daripada hanya.html
.sumber
Agar
.html
file juga diurai, Anda perlu menyetel penangan yang sesuai di konfigurasi server Anda.Untuk Apache httpd 2.X ini adalah baris berikut
Lihat dokumen PHP untuk informasi tentang instalasi server spesifik Anda.
sumber
Secara default, Anda tidak dapat menggunakan PHP di halaman HTML.
Untuk melakukan itu, ubah file .htacccess Anda dengan yang berikut ini:
sumber
Jika Anda hanya memiliki kode php dalam satu file html tetapi memiliki beberapa file lain yang hanya berisi kode html, Anda dapat menambahkan berikut ini ke file .htaccess Anda sehingga hanya akan menyajikan file tersebut sebagai php.
Ini akan membuat PHP HANYA dapat dieksekusi pada file "yourpage.html" dan bukan pada semua halaman html Anda yang akan mencegah perlambatan di seluruh server Anda.
Mengenai mengapa seseorang mungkin ingin melayani php melalui file html, saya menggunakan fungsi IMPORTHTML di google spreadsheet untuk mengimpor data JSON dari url eksternal yang harus diurai dengan php untuk membersihkannya dan membuat tabel html. Sejauh ini saya belum menemukan cara untuk mengimpor file .php ke google spreadsheet sehingga harus disimpan sebagai file .html agar fungsinya berfungsi. Mampu melayani php melalui file .html diperlukan untuk penggunaan khusus itu.
sumber
Buat file kosong menggunakan notepad dan beri nama .htaccess, Kemudian salin file itu ke direktori proyek Anda dan tambahkan baris ini dan simpan.
Jika tidak simpan file .html menggunakan .php karena php dapat mendukung html, dan menyimpannya di path komputer / var / www / html (linux)
sumber
AJAX juga kemungkinan. Secara efektif Anda menginginkan data dari halaman php. Setelah Anda memiliki data, Anda dapat memformatnya dalam javascript dan tampilan.
sumber
REVISI MODERN: Anda sekarang juga perlu memperbaikinya dengan mengubah '' security.limit_extensions 'yang sedikit diketahui di php-fpm dengan melakukan ini. Anda mungkin sudah mengetahui mekanisme terdokumentasi dengan baik untuk mengubah apache menjadi AddHandler / AddType Saya tidak akan membahasnya di sini.
ANDA HARUS mencari tahu di mana php-fpm / conf berada di pengaturan Anda. Saya melakukannya dengan melakukan ini
# grep -rnw '/etc/' -e 'security.limit_extensions'
Saya mendapatkan ini kembali
'/etc/php-fpm.d/www.conf:387:;security.limit_extensions = .php .php3 .php4 .php5 .php7'
buka file ini, edit dan PASTIKAN ANDA MENYADARI INI DIKomentari EG: ubah dari
';security.limit_extensions = .php .php3 .php4 .php5 .php7'
<- NB: perhatikan";"
- baris ini sebenarnya DINONAKTIFKAN secara default - dan Anda tidak memerlukan semua ekstensi yang tidak masuk akal, sebenarnya ekstensi itu mungkin berbahaya .. ubah ke'security.limit_extensions = .php .htm'
<- perhatikan titik koma sekarang dihapus. kemudian restart apache / (atau nginx) dan restart php-fpm# service php-fpm restart
# service httpd restart
sumber
Untuk menggabungkan HTML dan PHP Anda dapat menggunakan file .phtml.
sumber