mysqli_real_escape_string echo php code при вставке [duplicate]

Вы также можете использовать функцию ini_set (только для версии PHP ниже 5.3):

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

Как и в случае с @acme, в php 5.3 и выше это настройки являются директивами PHP_INI_PERDIR поэтому они не могут быть установлены с помощью ini_set. Вы можете использовать user.ini вместо этого.

68
задан imulsion 27 August 2012 в 13:49
поделиться

18 ответов

Вы должны включить php! Проверьте папку mods-enabled в каталоге Apache (по умолчанию: / etc / apache2 /), чтобы увидеть, найден ли файл с именем php. Я не помню расширение, но я думаю, что это .so.

Также проверьте var/log/apache2/error.log, чтобы увидеть, есть ли у вас какие-либо ошибки.

64
ответ дан Black 26 August 2018 в 14:36
поделиться

ни одно из вышеприведенных применений или не работало для меня ... PHP7, Apache Httpd 2.2 на CentOS 6

факт, что я установлен (все с yum) php ПЕРЕД Апачем ... вы должны сделать reverse: всегда устанавливайте Apache сначала, затем PHP, а затем он работает ... Действительно, вы, вероятно, отсутствуете libphp7.so и libphp7-zts.so в /etc/httpd/modules/

Я смог восстановить все равно без UNinstalling PHP , Я добавил магическую линию в /etc/httpd/conf/httpd.conf: AddType application/x-httpd-php .php И затем запустил: yum install php php-mysql

0
ответ дан berhauz 26 August 2018 в 14:36
поделиться

откройте файл

/etc/apache2/httpd.conf

и измените

#LoadModule php5_module libexec/apache2/libphp5.so

на

LoadModule php5_module libexec/apache2/libphp5.so

. Так что просто не выполняйте Загрузка модуля PHP в httpd.conf

22
ответ дан biesior 26 August 2018 в 14:36
поделиться

Вы можете удалить файл .htaceess и дать системе создать новый (пустой или базовый) файл. Возможно, некоторые строки, которые вы добавили, являются неправильными инструкциями или что-то еще внутри, вызывает проблему. Затем вы можете добавить строку за строкой из вашего старого файла .htaccess , чтобы узнать, что вызвало проблему.

Это сработало для меня. Линии, указывающие, что машина не отображает расширения php, были проблемой в моем случае ( RewriteCond и RewriteRule ). Мой старый файл .htaccess отлично работал на общем сервере, но эта проблема возникла, когда я переключился на VPS.

2
ответ дан bokistack 26 August 2018 в 14:36
поделиться

У меня была та же проблема. Когда я запускаю php-файл, веб-браузер показал мне PHP-код вместо его выполнения. Я много раз пробовал: удалять / переустанавливать wampserver64, работать с настройками / модулями PHP / Apache и т. Д. Через 2 дня: я понял, что когда я попытался запустить php-файл в блокноте ++, нажав комбинацию по умолчанию «ctrl + alt + shift + R "для хром. Он пытался выполнить мой php-файл, например: «file /// C: / wamp64 / www / bla / bla ..» в адресной строке chrome. Это была моя проблема. Я внес изменения в соответствии со страницей Настройка Notepad ++ для запуска php на localhost? . Моя проблема решена. Но через 2 дня ..

5
ответ дан Community 26 August 2018 в 14:36
поделиться

Хорошо, если вы пробовали то, что вам сказали выше или ранее (это возможные причины), и он по-прежнему отображает код вместо его выполнения, тогда есть одна вещь, которую вы делаете неправильно, которая не была устранена , URL-адрес, который вы использовали для доступа к вашему php-коду; некоторые люди пытаются выполнить свой php-код, просто перетащив файл .php в веб-браузер. это неправильная практика и может привести к этой проблеме. если вы сохранили файл как «test.php» в папке C: // wamp / www, вы должны получить доступ к этому файлу следующим образом: localhost: //test.php. такая ошибка возникает при доступе к ней следующим образом: localhost: //wamp/www/test.php

Надеюсь, я помог кому-то там. o / ~ Daniel

3
ответ дан DAniel 26 August 2018 в 14:36
поделиться

Спасибо другим за эту тему за их предложения. Следуя приведенным выше шагам, я обнаружил, что сервер Apache не смог начать сообщать о синтаксической ошибке в файле load в /etc/apache2/mods-enabled. Оказывается, что оба php7.0 и php7.1 были включены.

a2dismod php7.0
systemctl restart apache2

и php снова отображаются правильно.

1
ответ дан djnz0feh 26 August 2018 в 14:36
поделиться

Публикация того, что сработало для меня, в случае, если кто-то идет по дороге, хотя это необычный случай.

Я установил обработчик, чтобы заставить мой веб-хост использовать более высокую версию php, чем их по умолчанию. Там было 5.1, но я хотел 5.6, поэтому у меня было это:

<FilesMatch \.php$>
    SetHandler php56-cgi
</FilesMatch>

в моем файле .htaccess.

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

3
ответ дан evanmcd 26 August 2018 в 14:36
поделиться

Если вы являетесь пользователем ubuntu, после установки apache необходимо запустить следующую команду в новой установке

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

В моем случае это нормально.

1
ответ дан Hasan Baig 26 August 2018 в 14:36
поделиться

Ничего себе, здесь много решений! Вот что я сделал на Ubuntu 16.04:

sudo apt-get install php libapache2-mod-php
sudo a2enmod mpm_prefork && sudo a2enmod php7.0
sudo service apache2 restart
34
ответ дан helmy 26 August 2018 в 14:36
поделиться

Запустите Xampp (apache) в качестве администратора. В google chrome type:

localhost/<insert folder name here>/<insert file name>

i.e. если созданная папка «LearnPhp», файл «chapter1.php», тогда введите

localhost/LearnPhp/chapter1.php

Я создал эту папку в папке xampp в папке htdocs, которая создается когда вы загружаете xampp.

0
ответ дан jackel414 26 August 2018 в 14:36
поделиться

Решение Debian 9:

touch /etc/apache2/conf-available/php.conf 

Добавить в файл следующие строки:

<IfModule mod_php5.c>
    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php
    </IfModule>
    <FilesMatch ".+\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
</IfModule>
<IfModule mod_php.c>
    <IfModule mod_mime.c>
        AddType application/x-httpd-php .php
    </IfModule>
    <FilesMatch ".+\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
</IfModule>

Затем запустите:

a2enconf php && service apache2 restart
0
ответ дан mrDinkelman 26 August 2018 в 14:36
поделиться

Что сработало для меня:

В активном httpd.conf найти

<IfModule mime_module>
...
</IfModule>

Отсутствует следующее

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

После перезапуска apache , .php правильно разбираются.

1
ответ дан paul 26 August 2018 в 14:36
поделиться

Это происходило со мной и при запуске $ _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 следует обработать, как только вы нажмете кнопку отправки

0
ответ дан Reeno 26 August 2018 в 14:36
поделиться

Для 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/

24
ответ дан RyanNerd 26 August 2018 в 14:36
поделиться

Другой ответ, который сработал для меня. Это значит, что для установки [sudo] apt-get install libapache2-mod-php5.X

4
ответ дан Simon Mohoalali 26 August 2018 в 14:36
поделиться

У меня была та же проблема, вызванная конфигурацией по умолчанию модуля Debian / Ubuntu suphp. Он содержал suPHP_Engine off для целых / usr / share, что привело к тому, что источники php отображались в браузере. Дезактивация с a2dismod suphp была промежуточным решением.

0
ответ дан Torsten Knodt 26 August 2018 в 14:36
поделиться

, если модуль 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>
1
ответ дан user906489 26 August 2018 в 14:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: