Saya mencoba mengeksekusi beberapa kode PHP pada suatu proyek (menggunakan Dreamweaver) tetapi kode tersebut tidak dijalankan.
Ketika saya memeriksa kode sumber, kode PHP muncul sebagai tag HTML (saya bisa melihatnya di kode sumber). Apache berjalan dengan benar (saya bekerja dengan XAMPP), halaman PHP sedang dibuka dengan benar tetapi kode PHP tidak dieksekusi.
Apakah ada yang punya saran tentang apa yang terjadi?
Catatan: File sudah dinamaifilename.php
Edit: Kode ..:
<?
include_once("/code/configs.php");
?>
<?
bukan<?php
?<?
). Mereka sudah usang, tidak benar-benar bekerja di banyak tempat, dan sebaliknya sama sekali tidak perlu. Menyimpan tiga penekanan tombol bukan alasan yang valid untuk memungkinkan potensi kode Anda gagal pada setengah dari server yang mungkin dijalankan.short_open_tag
pengaturannya.<?=
), yang seharusnya berjalan dengan baik di php 5.4+ terlepas dari pengaturan server.Jawaban:
Kedengarannya ada sesuatu yang salah dengan konfigurasi Anda, berikut adalah beberapa hal yang dapat Anda periksa:
Pastikan PHP diinstal dan dijalankan dengan benar. Ini mungkin terdengar konyol, tetapi Anda tidak pernah tahu. Cara mudah untuk memeriksa adalah dengan menjalankan
php -v
dari baris perintah dan melihat apakah mengembalikan informasi versi atau kesalahan.Pastikan modul PHP terdaftar dan dihapus di dalam httpd.conf Apache Anda. Ini harus seperti
LoadModule php5_module "c:/php/php5apache2_2.dll"
di file. CariLoadModule php
, dan pastikan tidak ada komentar (;
) di depannya.Pastikan bahwa file httpd.conf Apache memiliki tipe PHP MIME di dalamnya. Ini harusnya seperti
AddType application/x-httpd-php .php
. Ini memberitahu Apache untuk menjalankan.php
file sebagai PHP. Cari AddType, dan kemudian pastikan ada entri untuk PHP, dan itu tidak dikomentari .Pastikan file Anda memiliki
.php
ekstensi di atasnya, atau ekstensi mana pun yang ditentukan dalam definisi MIME dalam poin # 3, jika tidak maka file tersebut tidak akan dieksekusi sebagai PHP.Pastikan Anda tidak menggunakan tag pendek dalam file PHP (
<?
), ini tidak diaktifkan pada semua server secara default dan penggunaannya tidak disarankan. Gunakan<?php
sebaliknya (atau aktifkan tag pendek di php.ini Anda denganshort_open_tag=On
jika Anda memiliki kode yang bergantung pada mereka).Pastikan Anda mengakses file Anda melalui server web Anda menggunakan URL seperti
http://localhost/file.php
tidak melalui akses file lokalfile://localhost/www/file.php
Dan terakhir periksa manual PHP untuk tips pengaturan lebih lanjut .
sumber
AddType application/x-httpd-php .php
. Terima kasih banyak!!apt-get purge apache2; apt-get install apache2 libapache-mod-php5
.php
ekstensi dengan konten<?php echo("Success"); ?>
dan melihat apakah mengakses file melalui browser web menghasilkan "Sukses" yang ditampilkan tanpa kode PHP yang terkait.php7:
sumber
sudo a2enmod proxy_fcgi setenvif
membuat tiga mod baru/mods-available/proxy.conf proxy_fcgi.load proxy.load
Demikian juga,sudo a2enconf php7.0-fpm
membuat file config/conf-available/php7.0-fpm.conf
Setelah ini selesai dan Apache2 kemudian dapat menjalankan modul PHP7 sebagai layanan CGI cepat.Saya menjalankan Apache di Ubuntu dan masalah saya adalah bahwa
/etc/apache2/mods-available/php5.conf
file tersebut tidak ada:Saya menambahkannya kembali dan php mem-parsing file php dengan benar.
sumber
perhatikan untuk pengguna php 7, tambahkan ini ke file httpd.conf Anda:
sumber
httpd.conf
file terletak di/etc/apache2/httpd.conf
Jika Anda menggunakan Ubuntu, akanapache2.conf
di direktori yang sama bahwa kebutuhan akan dimodifikasi untuk PHP7.Saya menemukan masalah lain yang menyebabkan masalah ini dan sudah menyelesaikannya. Saya tidak sengaja menyimpan skrip saya dalam
UTF-16
penyandian. Tampaknya PHP5 tidak dapat mengenali<?php
tag dalam penyandian 16 bit secara default.sumber
Saya memposting jawaban ini karena antarmuka admin Virtualmin / Webmin saya memutuskan untuk menonaktifkan mesin PHP saya .. butuh beberapa saat untuk menemukan solusinya, jadi saya pikir saya akan membaginya dengan kalian:
Juga, pastikan untuk memeriksa bahwa tidak ada file konfigurasi situs web Anda yang terkait dengan host atau virtualhost khusus ini memiliki php_admin_value di dalamnya yang mematikan PHP, seperti ini:
Saat ragu, komentari ...
Dan restart server web Anda.
sumber
/etc/apache2/mods-enabled/php7.conf
atauphp5.conf
sudo grep php_admin_value /etc/* -R
Anda hanya membuka file php Anda ke browser. Anda harus membukanya menggunakan url localhost. jika Anda membuka file langsung dari direktori Anda, itu tidak akan mengeksekusi kode php dalam hal apa pun.
gunakan:
http://locahost/index.php
atauhttp:127.0.0.1/index.php
Aktifkan kode pendek php. Dalam kasus Anda, Anda menggunakan
<?
kode pendek php untuk<?php
. Secara default kode pendek php dinonaktifkan.Juga gunakan:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
jika Anda adalah pengguna ubuntu.sumber
Saya tahu itu terdengar konyol ... tetapi jarang itu terjadi.
Periksa apakah Anda mencoba menjalankan php dari
dan bukan dari
ps> Anda dapat memperhatikan bahwa jika Anda menulis dari shell
itu menjawab dengan kode (artinya fungsi php) ..
sumber
Ini baru saja terjadi pada saya lagi, bersama dengan server mengunduh file html, daripada memproses. Saya belum pernah menggunakan apache server web untuk beberapa waktu di komputer dan sementara itu Ubuntu diperbarui seperti dua versi lagi dari LTS yang awalnya diinstal. Sekarang sudah
Jadi, php berfungsi setelahnya:
Server web sekarang mem-parsing php. Mungkin sekarang harus memperbarui beberapa web karena php7.0 sekarang berjalan di mana seperti sebelum menjalankan php5. Baiklah.
sumber
Saya telah menyelesaikan ini dengan menghapus XAMPP, dan menginstal WAMP. Terima kasih untuk bantuannya.
sumber
Saya menghadapi masalah ini di php 7.1 yang datang dengan High Sierra (OS X 10.13.5), mengedit
/etc/apache2/httpd.conf
dengan perubahan berikut membantu:Batalkan komentar pada baris ini
Tempel berikut di akhir
sumber
pada Ubuntu 14.04 saya, apache 2.4, instal php 5.5.9, saya mencoba dengan sample.php di / var / www / html (default document root) dan berhasil ok. Jadi masalahnya adalah pada konfigurasi Server Virtual saya. Solusinya adalah untuk memasukkan, pada direktori Def berisi .php, baris ini:
sumber
Pastikan skrip berisi
sebelum kode yang harus dieksekusi. Seharusnya tidak ada ruang antara
<?
danphp
dalam hal ini.sumber
Saya memiliki masalah serupa tetapi dalam solusi kasus saya berbeda. file saya yang menyimpan kode php disebut "somename.html" mengubahnya menjadi "somename.php" bekerja dengan baik
sumber
Untuk pengaturan baru LAMP yang menjalankan php 7 edit file /etc/httpd/conf/httpd.conf Catatan: pastikan untuk membuat cadangan untuk itu sebelum mengubah apa pun.
Rekatkan ini di bagian paling bawah file:
Kemudian, cari LoadModule dan rekatkan baris berikut:
Baris ini hanya akan meminta httpd untuk memuat modul php 7
Kemudian mulai kembali httpd
sumber
Periksa semua paket yang telah Anda instal untuk php menggunakan:
Instal semua paket php yang relevan , terutama php-devel di mesin Anda.
sumber
Ini ada di .htaccess saya
index.html berisi kode PHP. Secara default, PHP tidak akan memproses file dengan ekstensi seperti htm * sebagai kode PHP.
Anda dapat mengesampingkan ini, dengan menambahkan berikut ini ke .htaccess:
sumber
Saya pikir masalahnya menunjukkan kode alih-alih hasilnya adalah tidak menuju ke host lokal. periksa kembali alamat Anda. Anda akan pergi ke direktori file lokal atau ke host lokal.
dari screenshot yang Anda kirim itu akan komputer Anda tidak ke localhost.
"file: ///" seharusnya "localhost /"
sumber
Menginstal ulang
mcrypt
modul berfungsi untuk saya.sumber
Saya punya kasus yang secara tidak sengaja saya mulai membuka direktori file saya di root. Itu menambahkan file .htaccess dari folder file saya yang akan memblokir semua php
Intinya periksa file .htaccess pada root.
sumber
Jika Anda memiliki konfigurasi seperti ini:
Batalkan komentar pada baris berikutnya di httpd.conf Anda
Ini bekerja untuk saya
sumber
Tambahkan
AddType application/x-httpd-php .php
ke file httpd.conf Anda jika Anda menggunakan Apache 2.4sumber
Hanya menghabiskan waktu berjam-jam untuk mencoba menjalankan PHP 5 dengan Apache 2.4 di Windows 10 . Akhirnya bagi saya itu adalah salah ketik di httpd.conf
LoadModule
. Menarik perhatian untuk menulis dan jalur modul yang tepat melalui jawaban terakhir di utachelounge utas denny2018 ini . Terima kasih!Saya telah
LoadModule php5_module "c:/php/php5apache2.dll"
tetapi benar untuk apache 2.4 adalah:Jadi saya juga melewatkan
_4
sebelumnya (untuk apache 2.4 ). Cuplikan lengkap yang berfungsi untuk saya:Baru saja mencoba PHP 7 . Ada
LoadModule
baris di httpd.conf untuk Apache 2.4 berbunyiSaat ini manual php muncul
c:/php/php5apache2.dll
yang tentu saja perlu disesuaikan.sumber
dalam kasus saya (Apache / 2.4.34),
setelah menghapus komentar modul tertentu
dari
masalah saya telah hilang.
sumber
Jika kita berada di halaman yang sama lakukan berikut
sudo apt-get install php -y
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y
Untuk mengaktifkan PHP 7.2 FPM di Apache2 lakukan:
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
pembaruan 2: Apache mengunduh file .php alih-alih render
Setelah itu, saya menghadapi masalah di atas. Ada pertanyaan serupa seperti ini .
Saya tidak tahu mengapa, tetapi itu hanya terjadi pada file .php saya di
/var/www/html/
folder root. semuanya baik-baik saja untuk sub-direktori. (misalnya wordpress dan phpmyadmin berfungsi dengan baik)Jadi, inilah solusi saya. Saya memutuskan untuk mengaktifkan modul php. jadi saya menjalankan perintah ini:
a2enmod php7.2
tapi saya mendapat kesalahan ini:
jadi saya memutuskan untuk menonaktifkan mpm dengan menjalankan perintah berikut:
lalu mulai ulang apache:
systemctl restart apache2
kemudian aktifkan php7.2 (versi instal saya):
sudo a2enmod php7.2
dan sekarang semuanya bekerja dengan baik.
sumber
Kemungkinan penyebab lain dari masalah ini adalah Anda mencoba menjalankan skrip di "direktori pengguna" dari
UserDir
modul. Menjalankan skrip PHP di direktori pengguna dinonaktifkan secara default. Anda akan mengalami masalah ini jika skrip ada dipublic_html
direktori di folder rumah Anda dan Anda mencoba mengaksesnyahttp://localhost/~your_username
.Untuk memperbaikinya, buka
/etc/apache2/mods-enabled/php7.2.conf
. Anda harus mengomentari atau menghapus blok tag di bagian bawah yang bertuliskansumber
file yang Anda masukkan ke / var / www / html / harus memiliki .php forexample example.php jika itu contohnya tidak berfungsi tetapi jika Anda mengubahnya ke example.php berfungsi.
sumber