8
7

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.

PHP5.3から5.6へのバージョンアップでつまづいたこと

Last updated at Posted at 2017-09-08

CentOS6.4でphp5.3からphp5.6へアップデートした時につまづいたところをメモ。

#知っておくこと

phpをアンインストールしても、起動中のPHPは動く。
apacheを再起動した時に最新版が反映される。

/etc/php.iniをバックアップでとっておく
(後で新しいバージョンのPHPの設定を書き換えるため)

#事前にリポジトリを用意

EPEL,remiリポジトリ最新版を入れておく

yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

#GDライブラリエラーにそなえて
私の環境ではGDライブラリをインストールしようとすると、libwebp.so.5()(64bit)が必要というエラーがでてうまくできませんでした。ググるとこのエラーは多いようです。ですので、もしlibwebpが入ってなければ事前にインストール。

yum install libwebp

がダメなら直接入れる。

rpm -ivh ftp://mirror.switch.ch/pool/4/mirror/epel/6/x86_64/libwebp-0.4.3-3.el6.x86_64.rpm

#PHPを削除

yum remove php*

#PHP5.6をインストール

yum install --enablerepo=remi,remi-php56,epel php php-cli php-common php-devel php-mbstring php-pdo php-gd php-mysql php-mcrypt php-xml php-pear php-soap php-pecl-apcu php-mysqlnd

apacheを再起動して完了

/etc/rc.d/init.d/httpd restart

#MySQLに接続できないエラー
MySQLユーザーが古い16バイトのパスワードフォーマットであることが原因。

my.cnfのold_passwords=0にするか削除

そして

set password for 'ユーザ名'@'ホスト' = password('パスワード');

で設定しなおして解決

#SOAPのエラー
「could not connect to host」というエラーが...

PHP 5.6.x における OpenSSL 関連の変更

ひとまず、動かすには以下のようにcontextをつける

sample.php
$context = stream_context_create([
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]
]);

$opt = array(
    'trace' => 1,
    'location' => $url, 
    'stream_context' => $context
);
8
7
0

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
8
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?