PHP betiği Apache sunucusunda çalışmıyor


54

Apache ve PHP5'i yeniden yükledim, ancak doktor kökümü ziyaret ettiğimde sadece "indirme" dosyasını indiriyor. Ve documentroot /index.php dosyasını denediğimde sadece PHP dosyasını indiriyor.

Ben PHP kurdum ama Apache çalıştırmak istemiyor.
İnsanlar benim için 'Modül Yükle' satırı eklemeyi önerdi, httpd.confancak bu dosyaya sahip değilim.

Yanıtlar:


103

Yazıyor:

sudo apt-get install apache2 php5 libapache2-mod-php5

ihtiyacınız olan her şeyi kuracak ve apache sunucusunu PHP desteğiyle başlatacak.

Php modülünün yüklendiğini doğrulamak için şunu yazın:

a2query -m php5

etkin değilse, ardından yükleyin:

sudo a2enmod php5

ve apache'yi yeniden başlatın:

sudo service apache2 restart

Php7.x güncellemesi (Ubuntu 16.04, 16.10, 18.04, 18.10'da test edilmiştir )

Yorumlar sayesinde, php7.x dosyasının cevabını güncelliyorum.

Yüklemek:

sudo apt-get install apache2 php7.x libapache2-mod-php7.x 

Doğrulamak:

a2query -m php7.x

Yük:

sudo a2enmod php7.x

Apache'yi yeniden başlat:

sudo service apache2 restart

a2enmodKullanılabilir mods ve mods etkin arasında dosya elle kopyalamak daha kullanmak daha iyi olurdu . a2enmodbir sembolik bağlantı oluşturur ve böylece yapılandırmanın yalnızca bir kopyasını elde edersiniz.
jkt123

@ jkt123 haklısın. Tavsiyen için teşekkürler, cevabımı düzenlerim.
girardengo

Benim durumumda "HATA: php5 modülü yok!" Yazıyor. monte edildi
Marian Klühspies

3
php7 ile ubuntu 16.04 için ben amacıyla bu komutları idam apt-get install libapache2-mod-php, a2query -m php7.0,service apache2 restart
Marlo

Ubuntu 14.04 için: # a2query -m php7.0 php7.0 (site yöneticisi tarafından etkinleştirilir) Hala php kodu yürütülmüyor
Ashish Karpe

19

Başka bir yaygın neden, php kısa etiketlerinin <?varsayılan php.ini yapılandırması tarafından etkinleştirilmemesidir, bu nedenle bir yükseltme veya yeniden yükleme işleminden sonra, bu ayar kapatılabilir ve php kodu buna bağlı olabilir. Değiştirmeyi deneyin <?ile <?php.

( Kredi )


13

Ubuntu 16.04 PHP 7'ye taşındı. Bu tek komut işi senin için yapacak:

sudo apt-get install apache2 php libapache2-mod-php

İşte libapache2-mod-phplibapache2-mod-php7'yi yükleyen bir meta paket.


2

php.iniolan nanoterminalde:

sudo nano /etc/php/php5.6/apache2/php.ini

Ardından değiştirin:

short_open_tag = Off

için

short_open_tag = On

Sonra kaydedin ve apache2'yi yeniden başlatın:

sudo systemctl restart apache2

1
Veya PHP scriptlerini düzeltin :-)This directive determines whether or not PHP will recognize code between <? and ?> tags as PHP source which should be processed as such. It is generally recommended that <?php and ?> should be used and that this feature should be disabled [...]
Nicolas Raoul

1

Aynı problemle karşılaştım, ama özel problemim eşsizdi. Bir kullanıcı dizininde çalışıyordum (mod_userdir kullanarak) - web sayfama http://host.name.com/~username/example.php adresinden erişiyorsunuz.

Mods etkin dizinde php * .conf dosyasında varsayılan olarak devre dışı bırakılmış. Yorumlamak için değiştirmek zorunda kaldım:

#<IfModule mod_userdir.c>
#    <Directory /home/*/public_html>
#        php_admin_flag engine Off
#    </Directory>
#</IfModule>

Anlamak için bir acı oldu ..

Bu konuda özel bir sorunu olan kimseden şüpheliyim, ama ekleyeceğimi düşündüm, çünkü bu benim için çok kafa karıştırıcıydı ve MAYBE de aynı şeyi yapıyordu. Artık kimse ~ / kullanıcı kullanmıyor sanırım ben hariç.

Bundan sonra apache'yi yeniden başlatmanız gerekiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.