PHP-код не выполняется, вместо этого код отображается на странице - PullRequest
290 голосов
/ 25 февраля 2011

Я пытаюсь выполнить некоторый код PHP в проекте (используя Dreamweaver), но код не запускается.

Когда я проверяю исходный код, код PHP отображается в виде тегов HTML (я вижу его в исходном коде). Apache работает правильно (я работаю с XAMPP), страницы PHP открываются правильно, но код PHP не выполняется.

Есть ли у кого-то предложения о том, что происходит?

Примечание: Файл уже назван filename.php

Изменить: Кодекс ..:

<?
include_once("/code/configs.php");
?>

The print

Ответы [ 25 ]

382 голосов
/ 25 февраля 2011

Похоже, что с вашей конфигурацией что-то не так, вот несколько вещей, которые вы можете проверить:

  1. Убедитесь, что PHP установлен и работает правильно.Это может звучать глупо, но вы никогда не знаете.Простой способ проверить это - запустить php -v из командной строки и посмотреть, возвращает ли информацию о версии или какие-либо ошибки.

  2. Убедитесь, что модуль PHP указан в списке и не прокомментирован внутри вашего Apache httpd.conf Это должно быть что-то вроде LoadModule php5_module "c:/php/php5apache2_2.dll" в файле.Найдите LoadModule php и убедитесь, что перед ним нет комментариев (;).

  3. Убедитесь, что файл Apache httpd.conf имеет тип PHP MIME вЭто.Это должно быть что-то вроде AddType application/x-httpd-php .php.Это заставляет Apache запускать .php файлы как PHP.Найдите AddType, а затем убедитесь, что есть запись для PHP и она не закомментирована .

  4. Убедитесь, что у вашего файла расширение .php включено.это или любое другое расширение, указанное в определении MIME в пункте # 3, иначе оно не будет выполнено как PHP.

  5. Убедитесь, что вы не используете короткие теги в файле PHP (<?) они не включены на всех серверах по умолчанию, и их использование не рекомендуется.Вместо этого используйте <?php (или включите короткие теги в вашем php.ini с помощью short_open_tag=On, если у вас есть код, который полагается на них).

  6. Убедитесь, что вы получаете доступ к своему файлу через веб-сервер, используя URL-адрес, такой как http://localhost/file.php, а не через локальный доступ к файлу file://localhost/www/file.php

Ии, наконец, ознакомьтесь с руководством PHP для получения дополнительных советов по настройке .

43 голосов
/ 06 февраля 2017

php7:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart
32 голосов
/ 19 марта 2013

Я использую Apache в Ubuntu, и моя проблема заключалась в том, что в файле /etc/apache2/mods-available/php5.conf этого не было:

<FilesMatch ".+\.ph(p[345]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

Я добавил его обратно, и php правильно анализировал файлы php.

25 голосов
/ 15 августа 2016

примечание для пользователей php 7, добавьте это в ваш файл httpd.conf:

# PHP 7 specific configuration
<IfModule php7_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>
21 голосов
/ 04 апреля 2013

Я нашел другую проблему, вызвавшую эту проблему, и уже решил ее.Я случайно сохранил свой скрипт в кодировке UTF-16.Похоже, что PHP5 не может распознавать тег <?php в 16-битной кодировке по умолчанию.

18 голосов
/ 15 октября 2013

Я публикую этот ответ, потому что мой интерфейс администратора Virtualmin / Webmin решил, что было бы неплохо отключить мой PHP-движок. Мне потребовалось некоторое время, чтобы найти решение, поэтому я решил поделиться им свы, ребята:

Также убедитесь, что ни в одном из файлов конфигурации вашего сайта, связанных с этим конкретным хостом или виртуальным хостом, нет php_admin_value в них, которые отключают PHP, например:

php_admin_value engine Off

Если сомневаетесь, прокомментируйте это ...

# php_admin_value engine Off

И перезапустите ваш веб-сервер.

15 голосов
/ 06 декабря 2016

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

использование: http://locahost/index.php или http:127.0.0.1/index.php

Включить php shortкод.В вашем случае вы используете <?, который является кратким кодом php для <?php.По умолчанию короткие коды php отключены.

Также используйте: sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt, если вы являетесь пользователем Ubuntu.

8 голосов
/ 31 января 2014

Я знаю, это должно звучать глупо ... но редко это случается.

Проверьте, пытаетесь ли вы выполнить php с

**http://localhost/info.php**

, а не с

file:///var/www/info.php

ps> вы можете заметить, что если вы пишете из оболочки

php info.php 

, он отвечает кодом (это означает, что функции php) ..

7 голосов
/ 12 июня 2016

Это снова случилось со мной, когда сервер загружал HTML-файлы, а не обрабатывал их. Некоторое время я не пользовался веб-сервером apache на компьютере, а Ubuntu обновлялся, как две новые версии с изначально установленной LTS. Теперь это

$ cat /etc/issue
Ubuntu 16.04 LTS

Так что php сработал так:

$ sudo apt-get install lamp-server^
$ sudo a2enmod php7.0
$ sudo service apache2 restart 

Веб-сервер теперь анализирует php. Может быть, теперь нужно обновить некоторые сети, так как теперь php7.0 работает там, где он был до запуска php5. Ну хорошо.

5 голосов
/ 25 февраля 2011

Я решил это, удалив XAMPP и установив WAMP. Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...