Apache nie wykonuje plików PHP, ale każe mi je pobierać


15

Tak więc skonfigurowałem mój serwer, korzystając z tego samouczka, a kiedy plik test.php działa bez problemu po wprowadzeniu adresu przy użyciu adresu IP mojego serwera jako

http://1.2.3.4/test.php

Jeśli jednak korzystam z wirtualnych hostów, przeglądarka po prostu oferuje pobranie pliku zamiast jego wykonania. Więc to:

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

oferuje pobranie pliku zamiast wykonania skryptu.

Kod używany w /etc/apache2/apache2.conf dla hostów wirtualnych jest następujący:

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

Chociaż muszę powiedzieć, że po ponownym uruchomieniu serwera Apache2 pojawia się komunikat ostrzegawczy:

[....] 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

Czy wiesz, że jest to serwer LAMP?
Braiam

@Braiam, szczerze mówiąc, zgubiłem się między LAMPĄ a Apache ... Nie znam różnicy ... czy otrzymałeś odpowiedź na moje pytanie?
The Quantum Physicist

gdzie znajdę ten katalog? nie działa mi. proszę pomóż? jak mogę ponownie załadować vhost vie terminal?
Boski świat

@Godworld Jaki katalog? Pliki konfiguracyjne Apache są w /etc/apache2/.
The Quantum Physicist,

Odpowiedzi:


19

Mam go do pracy z linią:

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

sudo service apache2 restart

Dziękujemy za nazwanie tej biblioteki. Wiedziałem, że muszę zainstalować bibliotekę, aby to naprawić, ale nie znałem nazwy.
Rahul Prasad

libapache2-mod-php7.0Pakiet nie istnieje w głównym repozytorium Ubuntu. Dopóki nie zostanie wydany 16.04. Zamiast tego powinieneś użyć libapache2-mod-php5.
Dan

4

Czasami mogą się zdarzyć nawet gorsze rzeczy ... Po prostu zapomniałem zainstalować php


5
Nie sądzę, by można to nazwać prawdziwą odpowiedzią, ale chyba tak jest.
Seth

3
Jeśli masz rozsądną liczbę maszyn i jest dość późno wieczorem, jest to zdecydowanie poprawna odpowiedź.
Avio,

1
Rzeczywiście ważna odpowiedź. Miałem problem z żonglowaniem php5, php5-cli, php5-fpm i php-whatnot. Apache właśnie brakowało odpowiedniego pakietu.
famousgarkin

0

Tutaj znalazłem rozwiązanie . Okazuje się, że musiałem włączyć niektóre moduły ...


Zaczerpnięte z tej odpowiedzi Przepełnienie stosu przez user1075581 :

W końcu postawiłem mnie na właściwej ścieżce:

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

Oto rozwiązanie:

W <Directory>sekcji zamieściłem następujące wiersze:

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

Lub zredagowana kopia / wklej rozwiązanie na moim serwerze:

<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

Szukałem tego od dłuższego czasu i właśnie znalazłem rozwiązanie, które działa w moim przypadku. Umieściłem swój plik ( processorder.php5) w katalogu /var/wwww standardowej instalacji Ubuntu. Myślałem, że to jest miejsce, w którym wygląda php. Ale dla html (lub plików php, które prawdopodobnie są uważane za to samo) szukał /var/www/html, tj. htmlPodkatalogu /var/www.

Kiedy przeniosłem mój plik do katalogu, zadziałało. Jestem podejrzliwy, ponieważ nie sądzę, żebym to gdziekolwiek udokumentował


0

problemy z uprawnieniami mogą również prowadzić do uzyskania tego dziwnego zachowania

chmod -R u=rwX,go=rX my_publishing_directory

pozbywa się problemów z uprawnieniami (644 w plikach i 755 w katalogach)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.