Apache PHP dosyalarını yürütmüyor, ama indirmemi sağlıyor


15

Bu yüzden bu öğreticiyi kullanarak sunucumu ayarladım ve sunucumun IP adresini kullanarak adresi girdiğimde test.php dosyası sorunsuz çalıştığında

http://1.2.3.4/test.php

Ancak, sanal ana bilgisayarlar kullanırsam, tarayıcı dosyayı yürütmek yerine indirmeyi önerir. Yani bu:

http://blog.mydomain.com/test.php

komut dosyasını yürütmek yerine dosyayı indirmeyi önerir.

Sanal ana bilgisayarlar için /etc/apache2/apache2.conf dosyasında kullandığım kod şudur:

Include /etc/phpmyadmin/apache.conf
Include /etc/apache2/mods-available/php5.conf

<VirtualHost *:80>
    DocumentRoot /path/to/vhosts/folder1
    ServerName www.mydomain.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /path/to/vhosts/folder2
    ServerName blog.mydomain.com
</VirtualHost>

NameVirtualHost *:80

Apache2 sunucusunu yeniden başlattığımda bir uyarı mesajı aldığımı söylememe rağmen:

[....] Restarting web server: apache2
[Sun Jan 19 13:33:40 2014] [warn] NameVirtualHost *:80 has no VirtualHosts ... waiting [Sun Jan 19 13:33:41 2014] [warn] NameVirtualHost *:80 has no VirtualHosts

Bunun bir LAMP sunucusu olduğunu biliyor musunuz?
Braiam

@ Dürüst olmak gerekirse LAMP ve Apache arasında kayboldum ... Farkı bilmiyorum ... ancak soruma bir cevabın var mı?
Kuantum Fizikçisi

bu dizini nerede bulabilirim? benim için çalışmıyor. lütfen yardım et? vhost vie terminalini nasıl yeniden yükleyebilirim?
Tanrı dünyası

@Godworld Hangi dizin? Apache yapılandırma dosyaları içeride /etc/apache2/.
Kuantum Fizikçisi

Yanıtlar:


19

Çizgi ile çalışmayı başardım:

sudo apt-get install libapache2-mod-php7.0

sudo service apache2 restart

Bu kütüphaneyi adlandırdığınız için teşekkürler. Bunu düzeltmek için bir kütüphane kurmak zorunda olduğumu biliyordum ama adını bilmiyordum.
Rahul Prasad

libapache2-mod-php7.0Paket ana Ubuntu deposundaki yok. 16.04 serbest bırakılana kadar değil. Bunun libapache2-mod-php5yerine kullanmalısınız .
Dan

4

Bazen daha da kötü şeyler olabilir .... Ben sadece php yüklemeyi unuttum


5
Bunun gerçek bir cevap olarak adlandırılabileceğini pek sanmıyorum, ama sanırım sorta.
Seth

3
Makul sayıda makineniz olduğunda ve akşamları oldukça geç olduğunda, bu kesinlikle geçerli bir cevaptır.
Avio

1
Gerçekten geçerli bir cevap. Ben php5, php5-cli, php5-fpm ve php-whatnot hokkabazlık bir sorun vardı. Apache doğru paketi kaçırıyordu .
famousgarkin

0

Çözümü burada buldum . Bazı modülleri etkinleştirmem gerektiği ortaya çıktı ...


Alındığı bu yığın taşması cevap tarafından user1075581 :

Bu sonunda beni doğru yola koydu:

http://www.linuxquestions.org/questions/linux-server-73/php-not-working-on-one-vhost-but-works-on-all-others-851093/

İşte çözüm:

Bu <Directory>bölüme şu satırları ekledim:

<IfModule sapi_apache2.c>
    php_admin_flag engine on
</IfModule>
<IfModule mod_php5.c>
    php_admin_flag engine on
</IfModule>

Ya da, çözümün sunucumda düzeltilmiş bir kopyası / yapıştırması:

<Directory "/var/www/vhosts/A2/httpdocs">
    <IfModule sapi_apache2.c>
        php_admin_flag engine on
    </IfModule>
    <IfModule mod_php5.c>
        php_admin_flag engine on
    </IfModule>

    (Other configuration parameters)

</Directory>

0

Bunu uzun zamandır araştırıyorum ve durumumda işe yarayan bir çözüm buldum. Ben standart bir ubuntu kurulumunda benim processorder.php5dizin ( ) dizinine koymuştu /var/www. Bu php baktı yer olduğunu düşündüm. Ama html (veya muhtemelen aynı şey olarak kabul edilen php dosyaları) için /var/www/html, yani htmlalt dizini baktı /var/www.

Dosyamı bir dizine taşıdığımda işe yaradı. Şüpheliyim çünkü bunun herhangi bir yerde belgelendiğini sanmıyorum


0

izin sorunları da bu garip davranışı elde edebilir

chmod -R u=rwX,go=rX my_publishing_directory

izin sorunlarından kurtulur (dosyalarda 644 ve dizinlerde 755)

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.