PHPはUbuntu 13.10で正常に動作せず、phpmyadminにmcryptがありません


15

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を再起動しました。

今、2つの問題があります。

  1. ページの下部にあるphpmyadminにこのエラーがあります。The mcrypt extension is missing. Please check your PHP configuration チェックmcryptしてその中にいましたが、phpmyadminでは行方不明のエラーが表示されます。

  2. 他の問題はPHPページにあり、PHPがなく、すべてHTMLであるように見えます。これは、多くのPHP行が次のようにテキストボックスに出力される<? echo $row['details']; ?> ためです。

回答:


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

事前に感謝しますが、まだいくつかの問題があります、私のPHPページのいくつかでは問題がわかりません、このページをロードしようとすると、白いブランケットページが表示されているので、有効にしようとしましたページ上部のphpのエラーレポートですが、ページには何も表示されません。これはこの質問をするのに良い場所ではないかもしれませんが、この問題を持ってきたので、私は再び尋ねました。ここにいくつかのコードを入力する必要がある場合は、ありがとうございます。
Mohammad_Hosseini

通常、完全に白いページは、角かっこまたはセミコロンがないことを意味します。または、存在しない関数を呼び出します。役立つソフトウェア開発環境がない場合は、コードの一部を一度に1ブロックずつコメントアウトしてみてください(/ *でコメントを開始し、* /で終了すると、その間のすべてがコメント化されます)。私は通常、コードの約半分をコメントアウトしてから表示を試み、常にエラーのある場所に絞り込みます)。
Whatts

3

2番目の問題については、多くの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

1

/etc/php5/conf.d/の下にあるすべてのスクリプトを確認してください。それらは動作を停止します。私の場合、imapも機能しなくなりました。

(ルートとして)シンボリックリンクトリックの問題を解決しました。

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. OffをOnに置き換えます。

short_open_tag = On

3. apacheを再起動します。

sudo service apache2 restart

0

実際、mcrypt.iniファイルの適切な場所は、ではmods-availableなくディレクトリにありconf.dます。したがって、mcrypt構成ファイルを置き換えて有効にすると、この問題が解決します。


-1

mcryptUbuntu 14.04のインストール後にも問題が発生しました。このリンクをたどると役立ちます。 www.php.net

  1. php.iniファイルを開きます sudo gedit /etc/php5/apache2/php.ini
  2. apache2を再起動します sudo service apache2 restart

お役に立てれば。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.