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.