Почему мои php-теги преобразуются в html-комментарии?

Кажется, что хозяин лампы друга неправильно настроен. Я пытаюсь выполнить php, но он, похоже, не работает.

В элементе проверки Chrome:

<?php echo 'test'; ?> 

становится:

 <!--?php echo 'test'; ?--> 

Кроме того, он запускает загрузку файла, а не открывает его как веб-страницу.

Я пробовал различный код в файле .htaccess , но он, похоже, не имеет никакого эффекта:

 AddType x-mapp-php5 .php AddType application/x-httpd-php .php AddHandler x-mapp-php5 .php 

Место для правильной настройки операции PHP – это файл httpd.conf , который находится в подкаталоге conf вашего каталога установки Apache.

Там вы захотите найти раздел загрузки модуля, который будет состоять из нескольких строк, начинающихся с LoadModule . Где-то там, у вас должно быть следующее (или что-то очень похожее):

 LoadModule php5_module "location\of\your\php\installation" AddType application/x-httpd-php .php PHPIniDir "location\of\your\php\configuration\file" 

Я не слишком хорошо знаком с Linux, но в установках Windows (WAMP) это будет что-то вроде:

 LoadModule php5_module "c:/program files/php/php5apache2.dll" AddType application/x-httpd-php .php PHPIniDir "C:/program files/php" 

И файл httpd.conf на моей машине находится в папке C:\Program Files\Apache Group\Apache2\conf\httpd.conf .

Также может быть, что PHP просто не установлен вообще на вашем компьютере, и в этом случае вам придется его загрузить и установить. Брэд уже разместил соответствующую ссылку в одном из своих комментариев (+1, кстати, Брэд), но ради того, чтобы все было в одном месте:

PHP: установка и настройка – руководство

Звучит для меня, что ваш PHP неправильно настроен или установлен в вашей конфигурации лампы. Какое распределение вы используете? Это может быть так же просто, как запустить команду для повторной установки PHP, иначе вам, скорее всего, придется скомпилировать apache с поддержкой php.

Ваш Хром лжет вам.

Ваш исходный PHP-файл – <?php echo 'test'; ?> <?php echo 'test'; ?> . Поскольку PHP не выполняется, этот файл отправляется в браузер. Если браузер должен интерпретировать этот текст, он наткнется на <? ?> отмечает. Они имеют смысл – это «инструкции обработки XML», а текст после угла открытия определяет цель.

Очевидно, браузер не знает о цели с именем «PHP», поэтому этот текст игнорируется.

И затем инспектор элементов пытается отобразить DOM и лжет о исходном исходном коде, потому что он работает с источником PARSED – это здорово, потому что вы обычно хотите знать, на каких данных работает браузер, и это включает в себя как браузер интерпретировал ваш источник.

Но если вы сделаете какую-либо ошибку, браузер попытается ее исправить, и исправление будет включено в инспектор элементов.

Очевидно, что исправление для неизвестной инструкции обработки XML состоит в том, чтобы отключить ее, комментируя ее.

Это случилось со мной. Оказалось, что я забыл изменить тип файла с .html на .php

Если вы размещаете код вне стандартных каталогов (сценарий разработки, в моем случае), вы должны проверить свой / etc / apache2 / mod-enabled или / etc / apache2 / mod-доступный в php5.conf (для ubuntu) и прокомментируйте строки, указанные в комментарии:

 # 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_value engine Off </Directory> </IfModule> 

Этот ответ не относится к конкретному варианту этой проблемы, но у меня была основная проблема – <? var_dump($test); ?> <? var_dump($test); ?> <? var_dump($test); ?> преобразуется в <!--? var_dump($test); ?--> <!--? var_dump($test); ?--> <!--? var_dump($test); ?--> – который я мог бы решить, включив short_open_tag в php.ini .

Похоже, вы используете редактор, который меняет то, что вы вводите. Убедитесь, что в файле находится то, что вы хотите в файле. Использование FTP для загрузки файла php должно гарантировать это.

Я столкнулся с такой же проблемой, когда я случайно попытался протестировать локальный php- файл в браузере на сервере через file:// протокол, а не через установленный сайт.

Итак, ответ один: «Г-н PHP покинул здание». Нам нужно проверить конфигурацию, местоположение файла или доступ.

И браузер просто пытается исправить веб-страницу и помочь нам.

Я просто решил эту же проблему. Вам нужно открыть файл с вашего WAMP, а не с вашего жесткого диска.

В вашем браузере поместите: localhost/...../yourfile.php

В противном случае ваш браузер заменит все <?php ?> <!-- ?php ?-->

Кажется, вам нужно указывать apache явно обрабатывать html-файлы в виде файлов php, у меня была такая же проблема, но переименование файла в .php решило проблему для меня.

В системе Ubuntu для меня работала установка плагина apache php5:

 sudo apt-get install libapache2-mod-php5 sudo service apache2 restart