PHP-FPM インストール時に UnicodeDecodeError が発生する(Ubuntu 14.04)

インフラ技術

Docker上でPHP-FPM環境を構築する際にハマった問題の記録です。

PHP-FPMのインストールで依存関係エラー

apt-get install -y php5-fpm

以下の依存関係エラーが発生しました。

php5-common (= 5.5.9+dfsg-1ubuntu4.11) but 5.5.9+dfsg-1ubuntu4.12 is to be installed

手っ取り早く解決するため、外部リポジトリを追加します。

# add-apt-repository が使えない場合は先にインストール
apt-get install -y software-properties-common

add-apt-repository -y ppa:ondrej/php5

UnicodeDecodeError の発生

リポジトリ追加時にエンコードエラーが発生しました。

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 92: ordinal not in range(128)

解決方法

localeが未設定であることが原因です。UTF-8のlocaleを生成してから実行することで解決します。

locale-gen en_US.UTF-8
LC_ALL=en_US.UTF-8 add-apt-repository -y ppa:ondrej/php5

Dockerコンテナではlocaleが最小限の状態で起動するため、この手のエラーに遭遇しやすいです。

Related Posts