PHP在Ubuntu 13.10上无法正常运行,并且在phpmyadmin中缺少mcrypt


15

我已经从UBUNTU 13.04升级到13.10,但是我不能使用PHP页面或phpmyadmin。我尝试过这种方法在Ubuntu上安装lamp,sudo apt-get install lamp-server^ phpmyadmin 在安装后我已经正确完成了所有配置,将这行添加 Include /etc/phpmyadmin/apache.conf到了, /etc/apache2/apache2.conf然后重新启动了apache2

现在我有两个问题:

  1. 在页面底部的phpmyadmin中是此错误:The mcrypt extension is missing. Please check your PHP configuration 我已经检查过并mcrypt在其中,但是在phpmyadmin中它给了我丢失的错误。

  2. 另一个问题是在PHP页面上似乎没有PHP,而且全都是html,因为许多PHP行都打印在文本框中,例如:<? echo $row['details']; ?> 有人可以告诉我该怎么做吗?

Answers:


48

尝试此操作解决您的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并重试?


1
谢谢,您的回答解决了我所有的问题。<??>不再工作了吗?在新版本的php中?它必须是<?php?>才能工作?
Mohammad_Hosseini

我只是用谷歌搜索,似乎短标签默认不再处于活动状态。您可以重新打开它,但是最好的做法是始终使用<?php
Whatts 2013年

在此先感谢,但是仍然有一个问题,在我的某些php页面中,我不知道出了什么问题,当我尝试加载此页面时,只显示了一个白色的毯子页面,我试图启用页面顶部的php错误报告,但页面上仍然没有任何显示。这可能不是一个提出这个问题的好地方,但是由于我提出了这个问题,我再次询问。如果您需要我在此处输入一些代码,请告诉我,谢谢。
Mohammad_Hosseini

完全白的页面通常意味着缺少括号或分号。或调用一个不存在的函数。如果您没有可以帮助您的软件开发环境,请尝试一次注释掉部分代码(以/ *开头注释,以* /结束注释,中间的所有内容都注释掉)。我通常从注释掉的一半代码开始,然后尝试显示,然后总是缩小到错误所在的位置。
Whatts

3

对于第二个问题,很多PHP行都印在文本框中,例如: echo $row['details'];

编辑您的php.ini配置文件(适用于Apache):

sudo nano -w /etc/php5/apache2/php.ini

并更改:

short_open_tag = Off

至:

short_open_tag = On

很棒的指南,也感谢您解决了白纸问题
Mohammad_Hosseini 2013年

1

在/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

您的方式不起作用,它给我imap或mcrypt不存在的错误,但是@whatts所说的对我有用。
Mohammad_Hosseini

1

(我本来会在上面发表评论,但没有特权。)

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

0

在终端(Ctrl+ Alt+ T

1.打开文件php.ini:

/etc/php5/apache2$sudo nano php.ini

2.替换为开:

short_open_tag = On

3,重启apache:

sudo service apache2 restart

0

实际上,mcrypt.ini文件的正确位置是在mods-available目录中,而不是conf.d。因此,替换并启用mcrypt配置文件即可解决此问题。


-1

mcrypt安装Ubuntu 14.04之后,我也遇到了问题。跟随此链接应该会有所帮助。 www.php.net

  1. 打开您的php.ini文件 sudo gedit /etc/php5/apache2/php.ini
  2. 重新启动您的apache2 sudo service apache2 restart

希望这可以帮助。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.