Saya baru-baru ini mencoba menginstal PHP dan Apache di komputer saya. Setelah berjam-jam, mereka dipasang. Saya telah memodifikasi file httpd.conf dan php.ini seperti yang dikatakan semua orang. Saya kemudian membuat skrip PHP sederhana:
<?php phpinfo(); ?>
Tetapi ketika saya mencoba menjalankannya dengan http://127.0.0.1/phpinfo.php
itu hanya menunjukkan kode sumber daripada mengeksekusinya. Saya menggunakan Apache 2, PHP 5 dan Windows Vista.
GARIS YANG DIEDIT:
PHP.INI:
short_open_tag = On
HTTPD.CONF
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "C:/php"
<?php echo "Hello world"; ?>
apakah itu menampilkan Halo dunia? jika itu menampilkan kode maka @RabNawaz mengatakan server Anda tidak dikonfigurasi dengan benar!http://localhost/
atauhttp://127.0.0.1/
Jawaban:
Anda harus mengaktifkan php! Periksa folder
mods-enabled
di direktori Apache (default :)/etc/apache2/
untuk melihat apakah Anda menemukan file bernamaphp
. Saya tidak ingat ekstensi tetapi saya pikir itu.so
.Periksa juga
/var/log/apache2/error.log
untuk melihat apakah Anda memiliki kesalahan lainnya.sumber
a2enmod php7.0
dan itu memecahkan masalah saya. Butuh waktu seharian untuk mencapai postingan ini!php
dalammods-enabled
, apa sekarang? Jawaban ini tidak menjelaskan banyak halWah, banyak solusi disini! Inilah yang saya lakukan di Ubuntu 16.04 :
sumber
--reinstall
ke apt-get. Mungkin instalasi modul / apache php kotor.Considering conflict php5 for php7.0
,Considering conflict mpm_worker for mpm_prefork
, dll ... dan me-restart apache2 gagalConsidering conflict php5 for php7.2
membuka/etc/apache2/mods-available
dan menghapusphp5.*
Untuk PHP 7 (Mungkin berlaku untuk versi sebelumnya juga), tetapi saya harus melakukan ini:
Tambahkan ini ke bagian bawah /etc/apache2/apache2.conf
Jalankan ini dari terminal:
Maka jangan lupa untuk me-restart Apache sehingga tahu Anda mengubah beberapa hal:
Ini adalah ringkasan dari: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/
sumber
buka file tersebut
/etc/apache2/httpd.conf
dan berubah
ke
Jadi hapus saja modul PHP yang dimuat
httpd.conf
sumber
Saya menemukan ini untuk menyelesaikan masalah terkait saya. Saya menambahkannya ke bagian yang relevan
<Directory>
:sumber
Jawaban berbeda yang berhasil untuk saya. Apakah itu, untuk menginstal
[sudo] apt-get install libapache2-mod-php5.X
sumber
Baiklah jika Anda telah mencoba apa yang Anda telah diberitahu di atas atau sebelumnya (yang kemungkinan alasannya) dan masih menampilkan kode alih-alih mengeksekusinya maka ada satu hal yang Anda lakukan salah yang belum ditangani. Url yang Anda gunakan untuk mengakses kode php Anda; beberapa orang mencoba menjalankan kode php mereka hanya dengan menarik file .php ke dalam browser web. ini adalah praktik yang salah dan dapat menyebabkan masalah seperti ini. jika Anda telah menyimpan file sebagai "test.php" di folder C: // wamp / www maka Anda harus mengakses file ini dengan cara ini: localhost: //test.php. kesalahan semacam ini akan muncul ketika Anda mengaksesnya dengan cara ini: localhost: //wamp/www/test.php
Semoga saya membantu seseorang di luar sana. o / ~ Daniel
sumber
Memposting apa yang berhasil untuk saya seandainya dalam membantu seseorang di masa mendatang, meskipun itu adalah kasus yang tidak biasa.
Saya telah menetapkan penangan untuk memaksa host web saya menggunakan versi php yang lebih tinggi daripada defaultnya. Ada 5,1, tapi saya ingin 5,6 jadi saya punya ini:
di file .htaccess saya.
Ketika mencoba menjalankan situs saya secara lokal, memilikinya di sana menyebabkan kode php dikeluarkan ke browser. Menghapusnya memecahkan masalah.
sumber
sumber
Anda dapat menghapus file .htaceess Anda dan membiarkan sistem membuat yang baru (kosong atau dasar). Mungkin beberapa baris yang Anda tambahkan adalah pernyataan yang salah, atau ada hal lain di dalamnya yang menyebabkan masalah. Anda kemudian dapat menambahkan baris demi baris dari file .htaccess lama Anda untuk melihat apa yang menyebabkan masalah.
Itu berhasil untuk saya. Baris yang memberitahu mesin untuk tidak menampilkan ekstensi php adalah masalah dalam kasus saya ( RewriteCond dan RewriteRule ). File .htaccess lama saya berfungsi dengan baik di server bersama, tetapi masalah ini muncul ketika saya beralih ke VPS.
sumber
sudo a2enmod headers
dansudo a2enmod rewrite
(jangan lupa untuk me-restart Apache).Terima kasih kepada orang lain di utas ini atas saran mereka. Mengikuti langkah-langkah yang disebutkan saya menemukan bahwa server apache tidak dapat mulai melaporkan kesalahan sintaks dalam
load
file di/etc/apache2/mods-enabled
. Ternyata php7.0 dan php7.1 telah diaktifkan.dan php ditampilkan dengan benar lagi.
sumber
jika modul userdir diaktifkan dan situs Anda ada di userdir (~ / public_html), Anda harus memeriksa /etc/apache2/mods-enabled/php5.conf. Bagian berikut membuatnya berfungsi (pada Ubuntu 14.10 utopic):
sumber
Jika Anda adalah pengguna ubuntu, setelah menginstal apache harus menjalankan perintah berikut dalam instalasi baru
Dalam kasus saya berfungsi dengan baik.
sumber
Apa yang berhasil untuk saya:
Di httpd.conf aktif, temukan
Itu melewatkan yang berikut ini
Setelah memulai ulang apache, file .php diurai dengan benar.
sumber
tidak satu pun di atas yang diterapkan atau berfungsi untuk saya ... PHP7, Apache Httpd 2.2 di CentOS 6
Faktanya adalah, saya menginstal (semua dengan yum) php SEBELUM Apache ... Anda harus melakukan yang sebaliknya: selalu instal Apache terlebih dahulu, lalu PHP, dan kemudian berfungsi ... Memang, Anda mungkin hilang
libphp7.so
danlibphp7-zts.so
masuk/etc/httpd/modules/
Bagaimanapun, saya dapat memulihkan tanpa menghapus instalasi PHP. Saya menambahkan garis ajaib di
/etc/httpd/conf/httpd.conf
:AddType application/x-httpd-php .php
Dan kemudian jalankan:yum install php php-mysql
sumber
Untuk PHP7 dan Apache2.4, ini yang perlu Anda lakukan:
Pergi ke bagian paling bawah dan masukkan yang berikut (dengan sendirinya):
Apache sekarang akan menjalankan semuanya dengan PHP. Jika yang Anda miliki hanyalah file html dan php, maka ini akan berfungsi dengan baik untuk Anda. Jika Anda memiliki jenis file lain, maka Anda harus menyesuaikan file tersebut dengan situasi Anda. Saya telah menguji ini dengan phpMyAdmin dan sepertinya tidak ada masalah .... sejauh ini.
Tak satu pun dari hal-hal lain yang dibicarakan orang-orang di sini yang perlu saya. Ketika saya meletakkan "AddType Application ....." di tempat yang benar, Apache baru saja memberi tahu saya bahwa modul itu telah dimuat dan dilewati.
Informasi lebih lanjut dapat ditemukan di sini: https://httpd.apache.org/docs/2.4/mod/core.html#filesmatch
Penginstalan saya dilakukan sebagai berikut:
Anda juga harus membaca ini, jika belum: https://httpd.apache.org/docs/current/howto/htaccess.html#when
sumber
Ini juga terjadi pada saya saat menjalankan $ _POST di MAMP. Semua file .ini dan httpd saya sudah diatur dengan benar. Jika Anda melakukan penanganan formulir dan Anda memiliki dokumen html dan memposting info tersebut ke formhandler php yang menjalankan $ POST, pastikan Anda menjalankan file html dari localhost melalui server Anda, dan tidak hanya secara lokal.
Ini adalah jalan pintas yang saya lakukan untuk menjalankan dokumen html, dengan hanya mengklik file html di direktori saya dan meluncurkannya di browser web saya, padahal sebenarnya untuk memeriksa apakah php sedang diproses dalam formulir Anda, Anda harus menjalankan html Anda melalui server Anda. Protokol yang sangat sederhana yang saya abaikan.
Contoh:
Salah:
file:///Applications/MAMP/htdocs/form/form.html
Baik:
http://localhost:your port number/form/form.html
Sekarang php harus diproses setelah Anda mengklik tombol kirim Anda
sumber
Saya mengalami masalah yang sama, disebabkan oleh konfigurasi default modul Debian / Ubuntu
suphp
. Itu berisisuPHP_Engine off
seluruh / usr / share, yang menghasilkan sumber php yang ditampilkan di browser. Menonaktifkan dengana2dismod suphp
adalah solusi sementara.sumber
Saya memiliki masalah yang sama. Ketika saya menjalankan file php, browser web menunjukkan kepada saya kode php alih-alih mengeksekusinya. Saya telah mencoba berkali-kali: uninstall / instal ulang wampserver64, mengerjakan pengaturan / modul PHP / Apache, dll. Setelah 2 hari: Saya menyadari bahwa ketika saya mencoba menjalankan file php di dalam notepad ++ dengan menekan kombinasi default "ctrl + alt + shift + R "untuk chrome. Itu mencoba mengeksekusi file php saya seperti: "file /// C: / wamp64 / www / bla / bla .." di bilah alamat chrome saya. Itu masalah saya. Saya membuat perubahan sesuai dengan halaman Configuring Notepad ++ untuk menjalankan php di localhost? . Masalah saya terpecahkan. Tapi setelah 2 hari ..
sumber
Jalankan Xampp (apache) sebagai administrator. Di tipe google chrome:
localhost/<insert folder name here>/<insert file name>
yaitu jika folder yang Anda buat adalah "LearnPhp", file adalah "chapter1.php" lalu ketik
localhost/LearnPhp/chapter1.php
Saya membuat folder ini di folder xampp di folder htdocs yang dibuat saat Anda mengunduh xampp.
sumber
Solusi Debian 9:
Tambahkan ke file baris berikutnya:
Lalu lari:
sumber
/etc/apache2/mods-available/php7.2.conf
Beberapa kali jika Anda memiliki konflik versi php itu terjadi Untuk mengatasinya, ikuti langkah-langkah di bawah ini
Langkah 1: Daftar Yum diinstal | grep 'php'
Langkah 2: yum hapus ** versi php Anda **
Langkah 3: Kemudian mulai ulang apapche
/etc/init.d/httpd restart
atauservice apache2 restart
sumber
Solusi ini berhasil untuk saya. Saya membersihkan apache2 dan menginstal ulang. Itu terjadi setelah pembersihan dan pemasangan. Jika ini adalah pemasangan pertama, Anda tidak akan menghadapi masalah ini.
sumber
Saya mencoba beberapa solusi di atas namun perbaikan dalam skenario kami adalah menginstal modul fpm.
Kami telah menginstal httpd sebelum php yang mungkin ada hubungannya dengan masalah ini, tetapi untuk menyelesaikannya kami menginstal yang berikut ini:
yum module install php: 7.2
Ini menginstal modul php-fpm-7.2.11-4.module + el8.1.0 + 5443 + bc1aeb77.x86_64.rpm yang kemudian kami aktifkan oleh:
systemctl aktifkan - sekarang php-fpm
Sejak saat itu kami membiarkan /etc/httpd/conf.d/php.conf sebagai default dan memulai ulang httpd
layanan httpd restart
Kemudian semuanya berhasil.
Semoga ini bisa membantu, butuh waktu lebih lama dari yang seharusnya.
sumber
Tambahkan konfigurasi berikut ke
/etc/apache2/apache2.conf
Dan mulai ulang
apache
melaluisudo service apache2 restart
sumber