Недавно я пытался установить php и apache на свой компьютер. Через много часов они установлены. Я изменил файлы httpd.conf и php.ini, как все говорят. Затем я создал простой скрипт php:
<?php phpinfo(); ?>
Но когда я пытаюсь запустить его с http://127.0.0.1/phpinfo.php
он просто показывает исходный код вместо выполнения. Я использую apache2, php5 и windows vista. Я безуспешно искал по всему Интернету и почти ударяю головой о стену. Может ли кто-нибудь спасти меня от сотрясения мозга?
EDITED LINES:
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! Проверьте, mods-enabled
ли мода в папке Apache (по умолчанию: / etc / apache2 /), чтобы узнать, найден ли файл с именем php
. Я не помню расширение, но я думаю, что это так.
Также проверьте в var/log/apache2/error.log
чтобы узнать, есть ли у вас какие-либо ошибки.
откройте файл
/etc/apache2/httpd.conf
и изменение
#LoadModule php5_module libexec/apache2/libphp5.so
в
LoadModule php5_module libexec/apache2/libphp5.so
Так что просто не выполняйте загрузку модуля PHP в httpd.conf
Для PHP 7 (может применяться и к предыдущим версиям), но я должен был сделать это:
Добавьте это к нижней части /etc/apache2/apache2.conf
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
Запустите это с терминала:
sudo a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7
Тогда не забудьте перезапустить Apache, чтобы он знал, что вы изменили материал:
sudo service apache2 restart
Это резюме из: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/
Вау, здесь много решений! Вот что я сделал на Ubuntu 16.04 :
sudo apt-get install php libapache2-mod-php sudo a2enmod mpm_prefork && sudo a2enmod php7.0 sudo service apache2 restart
Я нашел это, чтобы решить мою связанную проблему. Я добавил его в соответствующий раздел <Directory>
:
<IfModule mod_php5.c> php_admin_flag engine on </IfModule>
Другой ответ, который сработал для меня. Это, чтобы установить [sudo] apt-get install libapache2-mod-php5.X
Хорошо, если вы пробовали то, что вам сказали выше или ранее (это возможные причины), и он по-прежнему отображает код вместо его выполнения, тогда есть одна вещь, которую вы делаете неправильно, которая не была устранена. URL-адрес, который вы использовали для доступа к вашему php-коду; некоторые люди пытаются выполнить свой php-код, просто перетащив файл .php в веб-браузер. это неправильная практика и может привести к этой проблеме. если вы сохранили файл как «test.php» в папке C: // wamp / www, вы должны получить доступ к этому файлу следующим образом: localhost: //test.php. такая ошибка возникает при доступе к ней следующим образом: localhost: //wamp/www/test.php
Надеюсь, я помог кому-то там. o / ~ Даниэль
Вы можете удалить свой файл .htaceess и позволить системе создать новый (пустой или базовый). Возможно, некоторые строки, которые вы добавили, являются неправильными инструкциями или что-то еще внутри, вызывает проблему. Затем вы можете добавить строку за строкой из старого файла .htaccess, чтобы узнать, что вызвало проблему.
Это сработало для меня. Линии, указывающие на то, что машина не отображает расширения php, были проблемой в моем случае ( RewriteCond и RewriteRule ). Мой старый файл .htaccess работал нормально на общем сервере, но эта проблема возникла, когда я переключился на VPS.
Проводка того, что сработало для меня в случае, помогает кому-то в дороге, хотя это необычный случай.
Я установил обработчик, чтобы заставить мой веб-хост использовать более высокую версию php, чем их значение по умолчанию. Там было 5.1, но я хотел 5.6, поэтому у меня было это:
<FilesMatch \.php$> SetHandler php56-cgi </FilesMatch>
в моем файле .htaccess.
При попытке запустить мой сайт локально, наличие в нем вызвало вывод php-кода в браузер. Снятие решения проблемы.
Если вы являетесь пользователем ubuntu, после установки apache необходимо выполнить следующую команду в новой установке
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
В моем случае работает нормально.
если модуль userdir включен и ваш сайт находится в userdir (~ / public_html), вы должны проверить /etc/apache2/mods-enabled/php5.conf. Следующая часть делает работу (на Ubuntu 14.10 utopic):
# Running PHP scripts in user directories is disabled by default # # To re-enable PHP in user directories comment the following lines # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it # prevents .htaccess files from disabling it. # <IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_flag engine Off # </Directory> # </IfModule>
Это происходило со мной и при запуске $ _POST в MAMP. Все мои файлы .ini и httpd были настроены правильно. Если вы выполняете обработку формы, и у вас есть html-документ и размещаете информацию в обработчике php form, работающем под $ POST, убедитесь, что вы запускаете html-файл с localhost через ваш сервер, а не только локально.
Это был ярлык, который я сделал для запуска html-документов, просто нажав html-файл в моем каталоге и запустив в своем веб-браузере, когда на самом деле проверить, обрабатывается ли php в вашей форме, вы должны запустить html через свои серверы. Очень простой протокол, который я забыл.
Пример:
Неверно: file:///Applications/MAMP/htdocs/form/form.html
Справа: http://localhost:your port number/form/form.html
Теперь php следует обработать, как только вы нажмете кнопку отправки
У меня была та же проблема, вызванная настройкой модуля suphp
умолчанию Debian / Ubuntu. Он содержал suPHP_Engine off
для целых / usr / share, в результате чего источники php отображались в браузере. a2dismod suphp
было деактивация с помощью a2dismod suphp
.
У меня такая же проблема. Когда я запускаю php-файл, веб-браузер показал мне PHP-код вместо его выполнения. Я много раз пробовал: удалять / переустанавливать wampserver64, работать с настройками / модулями PHP / Apache и т. Д. Через 2 дня: я понял, что когда я попытался запустить php-файл в блокноте ++, нажав комбинацию по умолчанию «ctrl + alt + shift + R "для хром. Он пытался выполнить мой php-файл, например: «file /// C: / wamp64 / www / bla / bla ..» в адресной строке chrome. Это была моя проблема. Я внес изменения в соответствии со страницей « Настройка Notepad ++» для запуска php на localhost? , Моя проблема решена. Но через 2 дня ..
Запустите Xampp (apache) в качестве администратора. В google chrome type:
localhost/<insert folder name here>/<insert file name>
т.е. если созданная папка «LearnPhp», файл «chapter1.php», затем введите
localhost/LearnPhp/chapter1.php
Я создал эту папку в папке xampp в папке htdocs, которая создается при загрузке xampp.
Что сработало для меня:
В активном httpd.conf найдите
<IfModule mime_module> ... </IfModule>
В нем отсутствовали следующие
AddType application/x-httpd-php .php AddHandler application/x-httpd-php .php
После перезапуска apache файлы .php правильно разбираются.