CentOSにPHPのパッケージをインストールする
2019/03/04
PHPを利用したサイトを作成し、某社で用意した専用サーバ(rootがもらえるプラン)へアップロードしたら、
Fatal error: Call to undefined function mb_detect_encoding()
というエラーが出ました。
php.ini の mbstring が未設定なのかと思い設定しても、エラーは出たまま。
次に phpinfo でサーバ情報を見てみると、なぜか mbstring の項目が無い。
もしやと思い、ターミナルでインストール済みのモジュールを検索してみると・・・
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@sv ~]# rpm -qa | grep php php-pecl-apc-3.1.9-2.el6.x86_64 php-5.3.3-14.el6_3.x86_64 php-xml-5.3.3-14.el6_3.x86_64 php-gd-5.3.3-14.el6_3.x86_64 php-ldap-5.3.3-14.el6_3.x86_64 php-mysql-5.3.3-14.el6_3.x86_64 php-xmlrpc-5.3.3-14.el6_3.x86_64 php-pdo-5.3.3-14.el6_3.x86_64 php-pgsql-5.3.3-14.el6_3.x86_64 php-common-5.3.3-14.el6_3.x86_64 php-odbc-5.3.3-14.el6_3.x86_64 php-pecl-memcache-3.0.5-4.el6.x86_64 php-cli-5.3.3-14.el6_3.x86_64 php-pear-1.9.4-4.el6.noarch php-soap-5.3.3-14.el6_3.x86_64 |
おお、インストールされていないとは! マジかよ・・・。
ということで、モジュールをインストールしてみることとします。
とりあえずは、パッケージの検索から。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
[homepage@sv ~]$ yum list | grep php php.x86_64 5.3.3-14.el6_3 @updates php-cli.x86_64 5.3.3-14.el6_3 @updates php-common.x86_64 5.3.3-14.el6_3 @updates php-gd.x86_64 5.3.3-14.el6_3 @updates php-ldap.x86_64 5.3.3-14.el6_3 @updates php-mysql.x86_64 5.3.3-14.el6_3 @updates php-odbc.x86_64 5.3.3-14.el6_3 @updates php-pdo.x86_64 5.3.3-14.el6_3 @updates php-pear.noarch 1:1.9.4-4.el6 @UIedited_0/6.2 php-pecl-apc.x86_64 3.1.9-2.el6 @base php-pecl-memcache.x86_64 3.0.5-4.el6 @base php-pgsql.x86_64 5.3.3-14.el6_3 @updates php-soap.x86_64 5.3.3-14.el6_3 @updates php-xml.x86_64 5.3.3-14.el6_3 @updates php-xmlrpc.x86_64 5.3.3-14.el6_3 @updates cups-php.x86_64 1:1.4.2-48.el6_3.3 updates graphviz-php.x86_64 2.26.0-7.el6 base php-bcmath.x86_64 5.3.3-14.el6_3 updates php-dba.x86_64 5.3.3-14.el6_3 updates php-devel.x86_64 5.3.3-14.el6_3 updates php-embedded.x86_64 5.3.3-14.el6_3 updates php-enchant.x86_64 5.3.3-14.el6_3 updates php-imap.x86_64 5.3.3-14.el6_3 updates php-intl.x86_64 5.3.3-14.el6_3 updates php-mbstring.x86_64 5.3.3-14.el6_3 updates ←★これっぽい php-pecl-apc-devel.x86_64 3.1.9-2.el6 base php-process.x86_64 5.3.3-14.el6_3 updates php-pspell.x86_64 5.3.3-14.el6_3 updates php-recode.x86_64 5.3.3-14.el6_3 updates php-snmp.x86_64 5.3.3-14.el6_3 updates php-tidy.x86_64 5.3.3-14.el6_3 updates php-zts.x86_64 5.3.3-14.el6_3 updates rrdtool-php.x86_64 1.3.8-6.el6 base uuid-php.x86_64 1.6.1-10.el6 base |
欲しいパッケージがみつかったので、yum コマンドでインストールしてみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
[root@sv homepage]# yum install php-mbstring Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * extras: www.ftp.ne.jp * updates: www.ftp.ne.jp Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php-mbstring.x86_64 0:5.3.3-14.el6_3 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: php-mbstring x86_64 5.3.3-14.el6_3 updates 453 k Transaction Summary ======================================================================================== Install 1 Package(s) Total download size: 453 k Installed size: 2.1 M Is this ok [y/N]: y ←★一旦聞かれるので、yを入れる Downloading Packages: php-mbstring-5.3.3-14.el6_3.x86_64.rpm | 453 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : php-mbstring-5.3.3-14.el6_3.x86_64 1/1 Verifying : php-mbstring-5.3.3-14.el6_3.x86_64 1/1 Installed: php-mbstring.x86_64 0:5.3.3-14.el6_3 Complete! [root@sv homepage]# |
無事、「Complete!」が表示されたので、インストールは成功したようです。
今回は先に行いましたが、確認のため php.ini の設定で、mbstring を有効にして、最後に、apache の再起動。
1 |
[root@sv homepage]# apachectl restart |
確認したら、きちんと php が動きました。
やったね!