質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

5132閲覧

【php】【Mcrypt】のインストール

gogoackman3

総合スコア109

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/09/13 08:32

編集2016/09/13 09:25

【追記】

phpinfoの情報をよく見ていたら以下を発見しました。

イメージ説明

5.6.24になっているようです。
ターミナルでver確認すると、5.6.25なのですが・・・。
下記の本部をご覧頂くと分かる通り、installしたverは全て【5.6.25-1】となっています。
この差がうまく行かない要因となっているのでしょうか?
その場合、どのようにphpinfo上のverとターミナルで確認して表示されるverを一致させられるのでしょうか??
(mcrypt以外は問題なく動いていますが・・・。)


mycryptのインストールが上手くいきません・・・!

環境

$ cat /etc/redhat-release CentOS release 6.8 (Final) $ php --version PHP 5.6.25 (cli) (built: Aug 31 2016 19:26:19) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

初めの状態は以下。

[vagrant@localhost ~]$ yum list installed | grep mcrypt "何も表示されない" →「mycript」系のinstallは何もないのでターミナル上で返答なし
[vagrant@localhost ~]$ yum list installed | grep libmcrypt "何も表示されない" →「libmcrypt」系のinstallは何もないので返答なし

「mycript」「libmcrypt」が何も入っていない状態で、以下のコマンドを実行。

sudo yum --enablerepo=epel install libmcrypt sudo yum install --enablerepo=remi-php56 php-mcrypt.x86_64 sudo service httpd restart

その後、以下のコマンドでinstallを確認。

yum list installed | grep mcrypt libmcrypt.x86_64 2.5.8-9.el6 @epel php-mcrypt.x86_64 5.6.25-1.el6.remi @remi-php56 yum list installed | grep libmcrypt libmcrypt.x86_64 2.5.8-9.el6 @epel
[vagrant@localhost ~]$ yum list installed | grep php php.x86_64 5.6.25-1.el6.remi @remi-php56 php-cli.x86_64 5.6.25-1.el6.remi @remi-php56 php-common.x86_64 5.6.25-1.el6.remi @remi-php56 php-devel.x86_64 5.6.25-1.el6.remi @remi-php56 php-gd.x86_64 5.6.25-1.el6.remi @remi-php56 php-intl.x86_64 5.6.25-1.el6.remi @remi-php56 php-mbstring.x86_64 5.6.25-1.el6.remi @remi-php56 php-mcrypt.x86_64 5.6.25-1.el6.remi @remi-php56 php-mysqlnd.x86_64 5.6.25-1.el6.remi @remi-php56 php-pdo.x86_64 5.6.25-1.el6.remi @remi-php56 php-pecl-jsonc.x86_64 1.3.9-1.el6.remi.5.6 @remi-php56 php-pecl-jsonc-devel.x86_64 @remi-php56 php-pecl-zip.x86_64 1.13.1-1.el6.remi.5.6 @remi-php56 php-xml.x86_64 5.6.25-1.el6.remi @remi-php56

verも「5.6.25-1」で一致しているのですが、なぜか、phpinfo();を実行しても
Mcryptが表示されません。。。。Mcrypt系のメソッドもCall to undefined function mcrypt_module_open()と言われてしまいます・・・。

①あらかじめ「mycript」「libmcrypt」が何も入っていない状態にしています
②先にlibmcryptをインストールしています
③phpとmcryptのverもあっています

これ以外に、何か考えられる要因がありますでしょうか??

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ほぼおなじパッケージを使った環境がありますが、うまくいっていますね(RHEL7の部分が違いますが)

sh

1$ yum list installed | grep php 2php.x86_64 5.6.25-1.el7.remi @remi-php56 3php-mcrypt.x86_64 5.6.25-1.el7.remi @remi-php56

※一部抜粋

phpinfoを実行すると

sh

1$ php phpinfo.php | grep mcrypt 2/etc/php.d/20-mcrypt.ini, 3mcrypt support => enabled

※一部抜粋

パッケージに含まれるファイルはどうなっていますか?
自分の環境は以下のとおりです。

sh

1$ rpm -ql php-mcrypt.x86_64 2/etc/php-zts.d/20-mcrypt.ini 3/etc/php.d/20-mcrypt.ini 4/usr/lib64/php-zts/modules/mcrypt.so 5/usr/lib64/php/modules/mcrypt.so

以下のPHPを実行するとどうなりますか?

php

1<?php 2var_dump(mcrypt_list_modes());

※["cbc", "cfb", ....] という配列が返ってきます

投稿2016/09/13 09:43

popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gogoackman3

2016/09/13 14:12

回答ありがとうございます!! 以下はicchiiさんと同じのようです。 $ rpm -ql php-mcrypt.x86_64 /etc/php-zts.d/20-mcrypt.ini /etc/php.d/20-mcrypt.ini /usr/lib64/php-zts/modules/mcrypt.so /usr/lib64/php/modules/mcrypt.so しかし、以下については何も返答がありません。 $ php phpinfo.php | grep mcrypt var_dump(mcrypt_list_modes());を実行すると、以下のような配列が返ってきています! array(8) { [0]=> string(3) "cbc" [1]=> string(3) "cfb" [2]=> string(3) "ctr" [3]=> string(3) "ecb" [4]=> string(4) "ncfb" [5]=> string(4) "nofb" [6]=> string(3) "ofb" [7]=> string(6) "stream" }
gogoackman3

2016/09/13 14:16

先ほどVagrantを再起動したタイミングで普段走っていない色々な処理が走っていたのですが、それが要因か結果うまくMycryptがインストールされていました・・・! phpinfoの情報もverが5.6.25になり、Mycryptがenableになっていました!! なぜ上手く動くようになったのか、よく分からないのですが(汗)とりあえず動くようになりました!!
popobot

2016/09/13 20:22

Vagrantだったんですね... 通常サービス再起動でも良さそうですが、まぁうまくいってよかったです。
guest

0

phpinfo();はCLIですか?Webのほうですか?
WebのほうはHTTPDの再起動をしてみましょう。

投稿2016/09/13 08:36

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gogoackman3

2016/09/13 08:39

>phpinfo();はCLIですか?Webのほうですか? webの方です!viewを表示しているphpファイル上に書いて確認しました。 HTTPDの再起動についてですが、libmcryptやMcryptを install後に以下のコマンドを実行していますが、そのことでしょうか?? sudo service httpd restart もしそうでしたら、installコマンド直後に実行済みです・・・。
moonphase

2016/09/13 08:45

/etc/php.d/mcrypt.iniファイルに extension=/usr/lib64/php/modules/mcrypt.so を書いてもだめでしょうか?
gogoackman3

2016/09/13 08:52

返信ありがとうございます! アドバイス通り、新たに上記のファイルを作成し、その中に以下のように記載しました。 extension=/usr/lib64/php/modules/mcrypt.so ただ、症状としては変わらずな状態となっています・・・! 手順自体は誤ってないと思うのですが、何か見逃している事があるのでしょうか・・・
gogoackman3

2016/09/13 09:32

少し怪しい点があったので、その点を本文最上部に追記させて頂きました。
popobot

2016/09/13 09:57 編集

別のバージョンのPHPがインストールされていて、webではそっちをみているんですかね apacheですか?
gogoackman3

2016/09/13 12:47

はい、apacheになります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問