PHP muncul sebagai teks biasa setelah ditingkatkan ke 18,04

8

Saya baru saja memutakhirkan ke Ubuntu 18.04. Sekarang apache melayani php situs web saya sebagai php plaintext. Saya sudah mencoba: Mengapa file PHP saya ditampilkan sebagai teks biasa? (pada Stack Overflow) dan PHP 7 dan apache menampilkan teks biasa dan tidak dapat dimulai kembali . Paket php yang diinstal adalah:

php              php7.2-cli       php7.2-fpm       php7.2-mbstring  php7.2-pgsql     php7.2-sqlite3   php7.2-zip       php-curl         php-igbinary     php-pgsql        php-xml
php7.2           php7.2-common    php7.2-gd        php7.2-mysql     php7.2-readline  php7.2-xml       php-bz2          php-fpm          php-mbstring     php-soap         php-xmlrpc
php7.2-bz2       php7.2-curl      php7.2-json      php7.2-opcache   php7.2-soap      php7.2-xmlrpc    php-common       php-gd           php-mysql        php-sqlite3      php-zip

Salah satu situs web yang dimaksud dapat dilihat di sini .

Apache error.log:

[Thu Apr 26 16:02:12.740886 2018] [mpm_prefork:notice] [pid 6504] AH00169: caught SIGTERM, shutting down

[Thu Apr 26 16:02:13.001806 2018] [mpm_prefork:notice] [pid 7704] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0g configured -- resuming normal operations

[Thu Apr 26 16:02:13.001900 2018] [core:notice] [pid 7704] AH00094: Command line: '/usr/sbin/apache2'

Dan access.log:

<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"

<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"

<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"
Benedikt Wutzi
sumber
Mungkin Anda harus menginstal dan mengaktifkan modul php Apache yang tepat libapache2-mod-php7.2(dan membersihkan yang lama).
pa4080
libapache2-mod-php7.2 sudah menjadi versi terbaru. :(
Benedikt Wutzi
Mungkin Anda harus mengaktifkannya: sudo a2enmod php7.2.
pa4080
1
Modul php7.2 sudah diaktifkan. ;)
Benedikt Wutzi
1
Bisakah Anda menuliskan jawabannya sebagai jawaban? Akan sangat membantu jika orang lain menemukan situasi yang sama
Lily Bergonzat

Jawaban:

23

Inilah yang membuat instalasi saya diurutkan

sudo apt install php7.2 php7.2-common php7.2-cli
sudo a2enmod php7.2
Phippsy
sumber
2
Terima kasih, bagi saya mengaktifkan modul php7.2 bekerja dengan sempurna, - sepertinya ada konflik antara beberapa versi php
Agnius Vasiliauskas
1
Saya hanya membutuhkan a2enmod baris kedua. Setelah itu diaktifkan aplikasi muncul. Terima kasih!
user1794918
4

Sebenarnya, selain perintah dalam jawaban ini , Anda perlu

sudo apt install libapache2-mod-php

demikian juga. Entah bagaimana itu telah menghilang!

Jarek
sumber
0

Sepertinya ini terkait dengan memiliki 2 versi PHP yang diinstal dan diaktifkan pada saat yang sama setelah peningkatan. Tidak satu pun di atas yang berfungsi untuk saya, jadi saya mencopot Apache, PHP 7.1 dan PHP 7.2, menginstal ulang Apache dan PHP 7.2 dan semuanya berfungsi sekarang.

Jonathan Bossenger
sumber
0

Saya mengalami hal ini saat memutakhirkan dari Ubuntu 16.04.6 LTS ke 18.04 LTS menggunakan do-release-upgradealat ini. Dalam kasus saya, yang berikut ini membantu:

sudo apt-get install php7.2 libapache2-mod-php

Ini ditambahkan libapache2-mod-php7.2juga. php7.2-commondan php7.2-clisudah diinstal, jadi mereka diabaikan. sudo a2enmod php7.2dieksekusi secara otomatis oleh apt-get.

BTW, Anda dapat mendiagnosis masalah ini dengan membuat file /var/www/html/phpinfo.phpdengan konten berikut:

<?php phpinfo(); ?>

dan kemudian mengarahkan browser Anda ke URL http://your.server/phpinfo.php. Anda harus mendapatkan halaman web yang bagus dengan semua pengaturan PHP. Jika Anda mendapatkan <?php phpinfo(); ?>teks sebagai gantinya maka Anda perlu menginstal paket yang dijelaskan di atas.

Saya menyebutkan ini karena pertama saya hanya berlari php -vdi baris perintah dan memberitahu saya bahwa PHP 7.2 diinstal. Yang agak benar (karena hal-hal baris perintah dari paket php7.2-climemang diinstal), tapi itu bukan keseluruhan cerita. :-)

Laryx Decidua
sumber