Проблема в том, что php -v
показывает, что PHP 5.3 установлен, и я apache правильно работает с файлами HTML, однако файлы PHP просто отображают источник страницы, и я понимаю, что это, вероятно, неправильная конфигурация apache, но я попытался каждый гид, учебник и предложение, которые я мог найти, и ничего не получил, и я довольно новичок в centos, поэтому помощь будет очень признательна.
.php
никогда не должен показывать source
… это означает, что установка не была выполнена должным образом .. insted пытается исправить ошибку, которая, несомненно, будет в конечном итоге длинным списком, я думаю, вам стоит просто установить
Обновление Yum
yum update
Установить приоритеты
yum install yum-priorities
Удалить текущий PHP
yum remove php php-*
Удалить текущий httpd
yum remove httpd
Установка Apache
yum install httpd
Установка PHP
yum install php53u-pear php53u php53u-cli php53u-common php53u-devel php53u-gd php53u-mbstring php53u-mcrypt php53u-mysql php53u-pdo php53u-soap php53u-xml php53u-xmlrpc php53u-bcmath php53u-pecl-apc php53u-pecl-memcache php53u-snmp
Исправить APC
yum remove php53u-pecl-apc yum update php53u-pecl-apc --enablerepo=ius-testing
Изменить PHP.ini
display_errors = On
Перезапустить Apache
service httpd restart
после обновления файл PHP ini будет заменен.
Это приведет к отключению «Short Open Tags».
Если ваше приложение использует <? ?>
<? ?>
вместо <?php ?>
, php будет «показывать» ваш код, а не обрабатывать его, предоставляя вашему браузеру ваш исходный код php (может быть, на пустой странице зависит его код).
Чтобы решить эту проблему, я просто выполняю:
yum remove php* yum install php53*
затем отредактировал: /etc/php.ini, сменив короткие теги на:
short_open_tag = On
в конце концов:
service httpd restart
Надеюсь, поможет 😉
Если вы создали из источника, вам нужно добавить это в свой httpd.conf:
LoadModule php5_module modules/libphp5.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
Если PHP установлен установщиком пакетов yum, rpm и т. Д., Он будет иметь php.ini по умолчанию, у которого short_open_tag = Off по умолчанию, попробуйте установить его «Вкл.» И перезапустите службу apache.
если short_open_tag = Off, скрипты php, начинающиеся с «меньше + вопросительный знак», не будут обрабатываться apache. однако «менее + вопросительный знак + php» должен работать нормально.
отредактируйте конфигурацию Apache в /usr/local/apache2/conf/mime.types и добавьте следующее внизу:
application/x-httpd-php php phtml php5
Теперь запустите Apache, используя
/usr/local/apache2/bin/apachectl start
Мне не удалось получить какие-либо другие решения для работы с CentOS, пока я не установил RPM-базовую RPM (которая теперь php54w), которая установила для меня httpd. Только тогда он сделает модуль libphp5.so для apache. Единственная команда, в которой я нуждалась, была:
yum install php54w php54w*
Я не знаю, почему php54w не был найден с *, но если это не установлено, Apache не содержит PHP-модуль.
В httpd.conf, uncomment Include conf.d / *. Conf