3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[EC-CUBE4]ワンライナー/必要なPHP拡張ライブラリのインストール

Last updated at Posted at 2019-05-14

環境

  • Ubuntu 18.04 / Amazon Linux2
  • PHP 7.2 ★当初7.3として記載していましたがComposerコマンドがエラーになるので7.2に変更しました
  • ECCUBE 4.0.2
  • MySQL 5.6

背景

ECCUBE4公式のシステム要件には必要となるPHPライブラリの一覧記載されていますが、「どうやってインストールするの?」という細かい部分は記載されていません。

後述した表に記載したようにインストールする際に必要とするパッケージ名はライブラリ名と違うこともありますし、PHPバージョンが必要だったり・不要だったり一貫性がありません。さらに上記の一覧には「標準インストールすれば有効になっている(=追加インストール不要)」ものも含まれています。

全部を揃えるまで、イラッとしました面倒でした。こういう機械的な作業はさっとコピペで終わらせたいという人が多いと思うので控えておきました。ご利用ください。

結論

結論から書くと以下を実行すればOKです。

PHP本体(7.2)

Ubuntu 18.04の場合

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.2

Amazon Linux 2の場合

amazon-linux-extras install php7.2

拡張モジュール

Ubuntu 18.04の場合

sudo apt install php7.2-mysql php7.2-common php7.2-mbstring php7.2-json php7.2-xml php7.2-zip php7.2-curl php7.2-intl php-apcu php7.2-opcache php7.2-sqlite

Amazon Linux 2の場合

yum install php-mysql php-common php-mbstring php-json php-xml php-zip php-cURL php-intl php-apcu php-opcache php-sqlite

SQLiteの拡張モジュール(php7.2-sqlite php-sqlite)を含めている理由

ECCUBEのコマンドラインインストール時に自動的にSQLiteが利用されるためです。インストールしていないとデータベース作成処理で以下の実行エラーが発生します。

Script bin/console doctrine:database:create handling the installer-scripts event returned with error code 1

有効になっているPHPモジュールの確認

$ php -m

付録

ライブラリ名と(インストール時に利用する)パッケージ名

拡張名 必須or推奨 パッケージ名
mysqli 必須 php7.2-mysql
pdo_mysql 必須 php7.2-mysql
pdo 必須 php7.2-common
phar 必須 php7.2-common
mbstring 必須 php7.2-mbstring
zlib 必須 デフォルトで有効
自身でコンパイルする場合--with-zlibを指定
ctype 必須 php7.2-common
session 必須 デフォルトで有効
JSON 必須 php7.2-json
xml 必須 php7.2-xml
libxml 必須 デフォルトで有効
OpenSSL 必須 デフォルトで有効
自身でコンパイルする場合--with-opensslを指定
zip 必須 php7.2-zip
cURL 必須 php7.2-curl
fileinfo 必須 php7.2-common
intl 必須 php7.2-intl
hash 推奨 デフォルトで有効
APCu 推奨 php-apcu
ZendOPcache 推奨 php7.2-opcache

各ライブラリ名(php extensions)の詳細やインストール手順

上記の表でオプション指定して 自身でPHPをコンパイルする時のオプション指定について記載していますが、こういった情報は、PHP公式マニュアルの画面右上のボックスにライブラリ名を入力するとExtensionsという見出しの中にリンクが表示されるので、そこをクリックするともろもろ確認できます。

3
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?