Я обновил UBUNTU 13.04 до 13.10, но не могу работать со страницами PHP или phpmyadmin. Я попробовал этот способ установить лампу в Ubuntu sudo apt-get install lamp-server^ phpmyadmin
, и после установки я правильно выполнил все настройки. Я добавил эту строку Include /etc/phpmyadmin/apache.conf
в /etc/apache2/apache2.conf
, затем перезапустил apache2
. У меня есть две проблемы:
В phpmyadmin внизу страницы есть эта ошибка: The mcrypt extension is missing. Please check your PHP configuration
Я проверил и mcrypt
был в нем, но в phpmyadmin это дает мне ошибка отсутствует.
Другая проблема заключается в том, что на страницах PHP нет PHP, и все это в формате HTML, потому что множество строк PHP напечатано в текстовом поле, например: <? echo $row['details']; ?>
Кто-нибудь может сказать мне, что следует Я делаю ?
Попробуйте это для вашей проблемы mcrypt:
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart
Это ошибка с расположением файла mcrypt.ini, я получил информацию из здесь .
У меня была та же ошибка, я сделал cp
вместо mv
, чтобы убедиться, но это решило проблему.
Если PHP не работает, если phpmyadmin работает (даже с ошибкой mcrypt), это означает, что PHP работает (потому что phpmyadmin использует PHP). Но в вашем примере <? echo $row['details']; ?>
измените <?
на <?php
и попробуйте снова?
Проверьте все ваши скрипты в /etc/php5/conf.d/, потому что они перестанут работать. В моем случае imap также перестал работать.
Решена проблема с трюком символьной ссылки (от имени root):
ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
php5enmod mcrypt
ln -s /etc/php5/conf.d/imap.ini /etc/php5/mods-available/imap.ini
php5enmod imap
service apache2 restart
Что касается второй проблемы, многие строки PHP печатаются в текстовом поле, например: echo $row['details'];
Отредактируйте файл конфигурации php.ini (для apache):
sudo nano -w /etc/php5/apache2/php.ini
и изменить:
short_open_tag = Off
на:
short_open_tag = On
(Я бы опубликовал это как комментарий выше, но у меня не было бы привилегий.)
Что за интуиция Whatts использовать cp
вместо mv
была хорошей. Например, если вы используете фреймворк Laravel 4, ремесленный CLI обнаружит mcrypt.ini
в /etc/php5/mods-available/
, но сам фреймворк, кажется, ищет его в /etc/php5/conf.d/
. Вам нужно получить копию в обоих местах, чтобы все работало:
cp -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart
В терминале ( Ctrl kbd> + Alt kbd> + T kbd>)
1.открытый файл php.ini:
/etc/php5/apache2$sudo nano php.ini
2.Заменить на Вкл .:
short_open_tag = On
3.рестарт apache:
sudo service apache2 restart
На самом деле правильное место для файла mcrypt.ini находится в каталоге mods-available
, а не в conf.d
. Таким образом, замена и включение файла конфигурации mcrypt решает эту проблему.
У меня также была проблема с mcrypt
после установки Ubuntu 14.04. Переход по этой ссылке должен помочь. www.php.net
sudo gedit /etc/php5/apache2/php.ini
sudo service apache2 restart
Надеюсь, это поможет.
Дублированный вопрос: Расширение Mcrypt отсутствует на сервере 14.04 для mysql
Краткий ответ:
sudo apt-get install mcrypt php5-mcrypt
sudo php5enmod mcrypt
sudo service apache2 restart