Ostatnio próbowałem zainstalować PHP i Apache na moim komputerze. Po wielu godzinach są instalowane. Zmodyfikowałem pliki httpd.conf i php.ini, jak wszyscy mówią. Następnie stworzyłem prosty skrypt PHP:
<?php phpinfo(); ?>
Ale kiedy próbuję go uruchomić, http://127.0.0.1/phpinfo.php
po prostu pokazuje kod źródłowy zamiast go wykonywać. Używam Apache 2, PHP 5 i Windows Vista.
EDYTOWANE LINIE:
PHP.INI:
short_open_tag = On
HTTPD.CONF
LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "C:/php"
<?php echo "Hello world"; ?>
czy wyświetla Hello world? jeśli wyświetla kod, to jak @RabNawaz powiedział, że twój serwer nie jest poprawnie skonfigurowany!http://localhost/
lubhttp://127.0.0.1/
Odpowiedzi:
Musisz włączyć php! Sprawdź folder
mods-enabled
w katalogu Apache (domyślnie:),/etc/apache2/
aby zobaczyć, czy znajdziesz plik o nazwiephp
. Nie pamiętam rozszerzenia, ale myślę, że tak.so
.Sprawdź również,
/var/log/apache2/error.log
czy nie masz innych błędów.źródło
a2enmod php7.0
i to rozwiązało mój problem. Dotarcie do tego posta zajęło mi cały dzień!php
wmods-enabled
to, co teraz? Ta odpowiedź nie wyjaśnia rzeczyWow, wiele rozwiązań tutaj! Oto, co zrobiłem na Ubuntu 16.04 :
źródło
--reinstall
do apt-get. Może instalacja modułu php / apache była brudna.Considering conflict php5 for php7.0
,Considering conflict mpm_worker for mpm_prefork
, itp ... i apache2 restart nieConsidering conflict php5 for php7.2
przejdź do/etc/apache2/mods-available
i usuńphp5.*
Dla PHP 7 (może dotyczyć również poprzednich wersji), ale musiałem to zrobić:
Dodaj to na dole /etc/apache2/apache2.conf
Uruchom to z terminala:
Następnie nie zapomnij ponownie uruchomić Apache, aby wiedział, że zmieniłeś rzeczy:
To jest podsumowanie z: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/
źródło
otwórz plik
/etc/apache2/httpd.conf
i zmienić
w
Więc po prostu uncoment załaduj moduł PHP
httpd.conf
źródło
Znalazłem to, aby rozwiązać mój powiązany problem. Dodałem to do odpowiedniej
<Directory>
sekcji:źródło
Inna odpowiedź, która mi pomogła. Czy to do zainstalowania
[sudo] apt-get install libapache2-mod-php5.X
źródło
W porządku, jeśli wypróbowałeś to, co powiedziano ci powyżej lub wcześniej (co jest możliwym powodem) i nadal wyświetla kod zamiast go wykonywać, to jest jedna rzecz, którą robisz źle, a która nie została rozwiązana. Adres URL używany do uzyskiwania dostępu do kodu php; niektórzy ludzie próbują wykonać swój kod php, po prostu przeciągając plik .php do przeglądarki internetowej. jest to zła praktyka i może prowadzić do tego rodzaju problemów. jeśli zapisałeś plik jako „test.php” w folderze C: // wamp / www, musisz uzyskać dostęp do tego pliku w ten sposób: localhost: //test.php. ten rodzaj błędu pojawi się, gdy uzyskasz do niego dostęp w ten sposób: localhost: //wamp/www/test.php
Mam nadzieję, że komuś pomogłem. o / ~ Daniel
źródło
Publikowanie tego, co zadziałało dla mnie na wypadek, gdyby ktoś poszedł dalej, choć jest to niezwykły przypadek.
Ustawiłem program obsługi, aby zmusić mojego hosta internetowego do używania wyższej wersji PHP niż domyślna. Było 5.1, ale chciałem 5.6, więc miałem to:
w moim pliku .htaccess.
Kiedy próbuję uruchomić moją witrynę lokalnie, posiadanie tego powoduje, że kod PHP jest wysyłany do przeglądarki. Usunięcie go rozwiązało problem.
źródło
źródło
Możesz usunąć swój plik .htaceess i pozwolić systemowi utworzyć nowy (pusty lub podstawowy). Może się zdarzyć, że niektóre dodane wiersze są niepoprawnymi instrukcjami lub coś innego powoduje problem. Następnie możesz dodać wiersz po wierszu ze starego pliku .htaccess , aby zobaczyć, co spowodowało problem.
To zadziałało dla mnie. W moim przypadku problemem były linie mówiące maszynie, aby nie wyświetlała rozszerzeń php ( RewriteCond i RewriteRule ). Mój stary plik .htaccess działał dobrze na współdzielonym serwerze, ale ten problem pojawił się po przełączeniu na VPS.
źródło
sudo a2enmod headers
isudo a2enmod rewrite
(nie zapomnij zrestartować Apache).Dziękuję innym w tym wątku za ich sugestie. Wykonując wymienione kroki stwierdziłem, że serwer Apache nie był w stanie rozpocząć zgłaszania błędu składni w
load
pliku w formacie/etc/apache2/mods-enabled
. Okazuje się, że włączono zarówno php7.0, jak i php7.1.a php jest ponownie renderowany poprawnie.
źródło
jeśli moduł userdir jest włączony, a twoja witryna znajduje się w katalogu userdir (~ / public_html), musisz sprawdzić /etc/apache2/mods-enabled/php5.conf. Następująca część sprawia, że działa (na utopii Ubuntu 14.10):
źródło
Jeśli jesteś użytkownikiem Ubuntu, po zainstalowaniu Apache należy uruchomić następujące polecenie w nowej instalacji
W moim przypadku działa dobrze.
źródło
Co mi pomogło:
W aktywnym httpd.conf znajdź
Brakowało następujących
Po ponownym uruchomieniu Apache pliki .php są poprawnie analizowane.
źródło
żadne z powyższych nie dotyczyło ani nie działało dla mnie ... PHP7, Apache Httpd 2.2 na CentOS 6
Faktem jest, zainstalowałem (wszystkie z yum) php PRZED Apache ... trzeba zrobić odwrotnie: zawsze zainstalować Apache, potem PHP, a następnie to działa ... Rzeczywiście, jesteś prawdopodobnie brakuje
libphp7.so
ilibphp7-zts.so
na/etc/httpd/modules/
I tak udało mi się odzyskać bez odinstalowywania PHP. Dodałem magiczną linię
/etc/httpd/conf/httpd.conf
:AddType application/x-httpd-php .php
A potem uruchomiłem:yum install php php-mysql
źródło
W przypadku PHP7 i Apache2.4 to wszystko, co musisz zrobić:
Idź na sam dół i wstaw następujące (same):
Apache wykona teraz wszystko za pomocą PHP. Jeśli wszystko, co masz, to pliki html i php, to będzie działać dobrze. Jeśli masz inne rodzaje plików, musisz dostosować plik do swojej sytuacji. Przetestowałem to z phpMyAdminem i wygląda na to, że nie ma problemu ... na razie.
Żadna z tych innych rzeczy, o których wszyscy tutaj mówią, nie była mi potrzebna. Kiedy umieściłem "AddType Application ....." we właściwym miejscu, Apache po prostu powiedział mi, że ten moduł został już załadowany i pominął go.
Więcej informacji można znaleźć tutaj: https://httpd.apache.org/docs/2.4/mod/core.html#filesmatch
Moja instalacja została wykonana w następujący sposób:
Powinieneś także przeczytać, jeśli nie masz: https://httpd.apache.org/docs/current/howto/htaccess.html#when
źródło
Przydarzyło mi się to również podczas uruchamiania $ _POST w MAMP. Wszystkie moje pliki .ini i httpd zostały poprawnie skonfigurowane. Jeśli zajmujesz się obsługą formularzy i masz dokument html i wysyłasz informacje do php formhandler z uruchomionym $ POST, upewnij się, że uruchamiasz plik html z localhost przez swój serwer, a nie tylko lokalnie.
To był skrót, który zrobiłem, aby uruchomić dokumenty html, po prostu klikając plik html w moim katalogu i uruchamiając w mojej przeglądarce internetowej, gdy w rzeczywistości, aby sprawdzić, czy php jest przetwarzany w twoim formularzu, musisz uruchomić swój html na swoich serwerach. Bardzo prosty protokół, który przeoczyłem.
Przykład:
Źle:
file:///Applications/MAMP/htdocs/form/form.html
Dobrze:
http://localhost:your port number/form/form.html
Teraz php powinno zostać przetworzone po kliknięciu przycisku przesyłania
źródło
Miałem ten sam problem, spowodowany domyślną konfiguracją modułu Debiana / Ubuntu
suphp
. ZawierałsuPHP_Engine off
cały katalog / usr / share, co spowodowało, że źródła php były wyświetlane w przeglądarce. Dezaktywacja za pomocąa2dismod suphp
była rozwiązaniem tymczasowym.źródło
Miałem ten sam problem. Kiedy uruchamiam plik php, przeglądarka internetowa pokazała mi kod php zamiast go wykonać. Próbowałem wiele razy: odinstaluj / ponownie zainstaluj wampserver64, obejrzyj ustawienia / moduły PHP / Apache, itp. Po 2 dniach: zdałem sobie sprawę, że kiedy próbowałem uruchomić plik php w notatniku ++, naciskając domyślną kombinację "ctrl + alt + shift + R "dla chromu. Próbował uruchomić mój plik php, taki jak: „plik /// C: / wamp64 / www / bla / bla ..” na pasku adresu mojego Chrome. To był mój problem. Dokonałem zmian zgodnie ze stroną Configuring Notepad ++ to run php on localhost? . Mój problem został rozwiązany. Ale po 2 dniach ...
źródło
Uruchom Xampp (apache) jako administrator. W Google Chrome wpisz:
localhost/<insert folder name here>/<insert file name>
tzn. jeśli utworzony folder to „LearnPhp”, plik to „Chapter1.php”, a następnie wpisz
localhost/LearnPhp/chapter1.php
Utworzyłem ten folder w folderze xampp w folderze htdocs, który jest tworzony podczas pobierania xampp.
źródło
Rozwiązanie Debiana 9:
Dodaj do pliku następne wiersze:
Następnie uruchomić:
źródło
/etc/apache2/mods-available/php7.2.conf
Czasami, jeśli masz konflikty wersji php, zdarza się, aby przezwyciężyć to, wykonaj poniższe czynności
Krok 1: zainstalowano listę Yum | grep „php”
Krok 2: mniam usuń ** swoją wersję php **
Krok 3: Następnie uruchom ponownie apapche
/etc/init.d/httpd restart
lubservice apache2 restart
źródło
To rozwiązanie pracował dla mnie. Wyczyściłem Apache2 i przeinstalowałem. Stało się to po oczyszczeniu i zainstalowaniu. Jeśli jest to pierwsza instalacja, nie napotkasz tego problemu.
źródło
Wypróbowałem kilka powyższych rozwiązań, jednak poprawką w naszym scenariuszu była instalacja modułu fpm.
Zainstalowaliśmy httpd przed php, co mogło mieć coś wspólnego z problemem, ale aby rozwiązać, zainstalowaliśmy:
Instalacja modułu yum php: 7.2.0
To zainstalowało moduł php-fpm-7.2.11-4.module + el8.1.0 + 5443 + bc1aeb77.x86_64.rpm, który następnie włączyliśmy przez:
systemctl włącz - teraz php-fpm
Od tego momentu zostawiliśmy /etc/httpd/conf.d/php.conf jako domyślny i zrestartowaliśmy httpd
usługa httpd restart
Wtedy wszystko działało.
Mam nadzieję, że to pomoże, zajęło więcej czasu, niż powinno.
źródło
Dodaj następującą konfigurację do
/etc/apache2/apache2.conf
I zrestartuj
apache
viasudo service apache2 restart
źródło