Недавно я пытался установить PHP и Apache на свой компьютер. Через много часов они установлены. Я изменил файлы httpd.conf и php.ini, как все говорят. Затем я создал простой скрипт PHP:
<?php phpinfo(); ?>
Но когда я пытаюсь запустить его, http://127.0.0.1/phpinfo.php
он просто показывает исходный код вместо его выполнения. Я использую Apache 2, PHP 5 и Windows Vista.
РЕДАКТИРОВАТЬ СТРОКИ:
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"; ?>
он отображает Hello world? если он отображает код, то как @RabNawaz сказал, что ваш сервер настроен неправильно!http://localhost/
илиhttp://127.0.0.1/
Ответы:
Вы должны включить php! Проверьте папку
mods-enabled
в каталоге Apache (по умолчанию:),/etc/apache2/
чтобы увидеть, нашли ли вы файл с именемphp
. Я не помню расширение, но думаю, что это так.so
.Также проверьте, есть
/var/log/apache2/error.log
ли у вас другие ошибки.источник
a2enmod php7.0
и это решило мою проблему. Чтобы каким-то образом добраться до этого поста, потребовался целый день!php
в тоmods-enabled
, что сейчас? Этот ответ не объясняет материалВау, здесь много решений! Вот что я сделал в Ubuntu 16.04 :
источник
--reinstall
в apt-get. Возможно, установка модуля php / apache была грязной.Considering conflict php5 for php7.0
иConsidering conflict mpm_worker for mpm_prefork
т.д ... и сбой перезапуска apache2Considering conflict php5 for php7.2
перейти/etc/apache2/mods-available
и удалитьphp5.*
Для PHP 7 (может применяться и к предыдущим версиям), но мне пришлось сделать следующее:
Добавьте это в конец /etc/apache2/apache2.conf
Запустите это с терминала:
Затем не забудьте перезапустить Apache, чтобы он знал, что вы что-то изменили:
Это краткое изложение: https://www.atlantic.net/community/howto/try-php7-lamp-ubuntu-14-04/
источник
открыть файл
/etc/apache2/httpd.conf
и изменить
в
Так что просто отключите загрузку модуля PHP в
httpd.conf
источник
Я нашел это, чтобы решить мою проблему. Добавил в соответствующий
<Directory>
раздел:источник
Другой ответ, который сработал для меня. Это для установки
[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
Надеюсь, я помог кому-то там. о / ~ Даниэль
источник
Публикация того, что сработало для меня, поможет кому-то в будущем, хотя это необычный случай.
Я установил обработчик, чтобы заставить мой веб-хостинг использовать более высокую версию php, чем по умолчанию. Была 5.1, но я хотел 5.6, поэтому у меня было вот это:
в моем файле .htaccess.
Когда я пытаюсь запустить мой сайт локально, это привело к тому, что PHP-код выводился в браузер. Удаление решило проблему.
источник
источник
Вы можете удалить свой файл .htaceess и позволить системе создать новый (пустой или основной). Возможно, некоторые из добавленных вами строк являются неправильными операторами или что-то внутри вызывает проблему. Затем вы можете добавить построчно из своего старого файла .htaccess, чтобы узнать, что вызвало проблему.
Это сработало для меня. Строки, говорящие машине не отображать расширения php, были проблемой в моем случае ( RewriteCond и RewriteRule ). Мой старый файл .htaccess отлично работал на общем сервере, но эта проблема появилась, когда я переключился на VPS.
источник
sudo a2enmod headers
иsudo a2enmod rewrite
(не забудьте перезапустить Apache).Спасибо другим участникам этой темы за их предложения. Следуя упомянутым шагам, я обнаружил, что сервер apache не может начать сообщать о синтаксической ошибке в
load
файле в формате/etc/apache2/mods-enabled
. Оказывается, были включены и php7.0, и php7.1.и php снова отображается правильно.
источник
если модуль userdir включен и ваш сайт находится в userdir (~ / public_html), вы должны проверить /etc/apache2/mods-enabled/php5.conf. Следующая часть заставляет его работать (в Ubuntu 14.10 utopic):
источник
Если вы являетесь пользователем ubuntu, после установки apache необходимо выполнить следующую команду в новой установке
В моем случае работает нормально.
источник
Что сработало для меня:
В активном httpd.conf найдите
Не хватало следующего
После перезапуска apache файлы .php анализируются правильно.
источник
ничего из вышеперечисленного не применимо и не сработало для меня ... PHP7, Apache Httpd 2.2 на CentOS 6
Дело в том, что я установил (все с yum) php ПЕРЕД Apache ... вы должны сделать обратное: всегда сначала устанавливайте Apache, затем PHP, и тогда он работает ... Действительно, вы, вероятно, не хватает
libphp7.so
иlibphp7-zts.so
в/etc/httpd/modules/
Я все равно смог восстановить без удаления PHP. Я добавил волшебную строку
/etc/httpd/conf/httpd.conf
:AddType application/x-httpd-php .php
И затем запустил:yum install php php-mysql
источник
Для PHP7 и Apache2.4 это все, что вам нужно сделать:
Идем в самый низ и вставляем следующее (само собой):
Apache теперь будет выполнять все с помощью PHP. Если все, что у вас есть, это файлы html и php, то это вам подойдет. Если у вас есть другие типы файлов, вам необходимо адаптировать файл, соответствующий вашей ситуации. Я тестировал это с помощью phpMyAdmin, и, похоже, проблем ... пока нет.
Мне не было нужно ничего из того, о чем здесь говорят все, о чем здесь говорят. Когда я поместил «AddType Application .....» в нужное место, Apache просто сказал мне, что этот модуль уже загружен, и пропустил его.
Более подробную информацию можно найти здесь: https://httpd.apache.org/docs/2.4/mod/core.html#filesmatch
Моя установка была сделана следующим образом:
Вам также следует прочитать это, если вы этого не сделали: https://httpd.apache.org/docs/current/howto/htaccess.html#when
источник
Это происходило со мной также при запуске $ _POST в MAMP. Все мои файлы .ini и httpd были настроены правильно. Если вы выполняете обработку форм и у вас есть html-документ и вы отправляете информацию в php formhandler, запускающий $ POST, убедитесь, что вы запускаете html-файл с localhost через свой сервер, а не только локально.
Это был ярлык, который я сделал для запуска html-документов, просто щелкнув html-файл в моем каталоге и запустив его в моем веб-браузере, когда на самом деле, чтобы проверить, обрабатывается ли php в вашей форме, вы должны запустить свой html через свои серверы. Очень простой протокол, который я упустил.
Пример:
Неправильно:
file:///Applications/MAMP/htdocs/form/form.html
Правильно:
http://localhost:your port number/form/form.html
Теперь php должен быть обработан после того, как вы нажмете кнопку отправки
источник
У меня была такая же проблема, вызванная конфигурацией модуля Debian / Ubuntu по умолчанию
suphp
. Он содержалsuPHP_Engine off
весь / usr / share, в результате чего в браузере отображались исходники php. Отключение с помощью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 введите:
localhost/<insert folder name here>/<insert file name>
то есть, если вы создали папку «LearnPhp», а файл - «chapter1.php», введите
localhost/LearnPhp/chapter1.php
Я создал эту папку в папке xampp в папке htdocs, которая создается при загрузке xampp.
источник
Решение Debian 9:
Добавьте в файл следующие строки:
Затем запустите:
источник
/etc/apache2/mods-available/php7.2.conf
Иногда, если у вас есть конфликты версий php, это случается. Чтобы преодолеть это, выполните следующие действия.
Шаг 1: установлен список Yum | grep 'php'
Шаг 2: yum удалите ** вашу версию php **
Шаг 3: Затем перезапустите apapche
/etc/init.d/httpd restart
илиservice apache2 restart
источник
это решение сработало для меня. Я очистил apache2 и переустановил. Произошло это после чистки и установки. Если это первая установка, вы не столкнетесь с этой проблемой.
источник
Я пробовал несколько из вышеперечисленных решений, однако в нашем сценарии исправление заключалось в установке модуля fpm.
Мы установили httpd до php, что могло иметь какое-то отношение к проблеме, но для решения мы установили следующее:
yum module install php: 7.2
Это установило модуль php-fpm-7.2.11-4.module + el8.1.0 + 5443 + bc1aeb77.x86_64.rpm, который мы затем включили:
systemctl enable --now php-fpm
С этого момента мы оставили /etc/httpd/conf.d/php.conf по умолчанию и перезапустили httpd.
перезапуск службы httpd
Потом все заработало.
Надеюсь, это поможет, потребовалось больше времени, чем нужно было выяснять.
источник
Добавьте следующую конфигурацию в
/etc/apache2/apache2.conf
И перезапустите переходное
apache
отверстиеsudo service apache2 restart
источник
В моем случае с PHP7.3 Apache2.4 Ubuntu 18.04 мне пришлось выполнить:
источник