PHPを入れ直した(作業メモ)

えー、ちょっとした手違いと申しましょうか。
不勉強故に、不必要にサーバーのPHPをremoveするという暴挙にでてしまい、慌ててPHPをインストールしようとしたものの、思った通りにモジュールが入らず。

で、以下のコマンドでPHPとモジュールをインストールしました、という覚え書きです。

まず、PHPをyumでインストールします。

# yum -y install php

続いてモジュールをインストールします。

# yum -y install php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml php-imap

あとから、php-processが入ってないことに気づいて、以下のコマンドでインストールしました。
上記のyumでのインストールに入れとけばよかったんだと思いますが、とりあえず手順を残すという意味で、やったことをそのまま書きます。

$ sudo yum install --enablerepo=remi php-process

php.iniを修正します。

; PHP's default character set is set to empty.
; http://php.net/default-charset
default_charset = "UTF-8"

〜中略〜

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"

〜中略〜

[mbstring]
; language for internal character representation.
; http://php.net/mbstring.language
mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
; http://php.net/mbstring.internal-encoding
;mbstring.internal_encoding = EUC-JP
mbstring.internal_encoding = UTF-8

; http input encoding.
; http://php.net/mbstring.http-input
mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
; http://php.net/mbstring.http-output
;mbstring.http_output = SJIS
mbstring.http_output = pass

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
;       portable libs/applications.
; http://php.net/mbstring.encoding-translation
;mbstring.encoding_translation = Off

; automatic encoding detection order.
; auto means
; http://php.net/mbstring.detect-order
mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
; http://php.net/mbstring.substitute-character
mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
; http://php.net/mbstring.func-overload
;mbstring.func_overload = 0

; enable strict encoding detection.
;mbstring.strict_detection = Off

; This directive specifies the regex pattern of content types for which mb_output_handler()
; is activated.
; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml+xml)
;mbstring.http_output_conv_mimetype=

で、Apacheを再起動して完了です。

元々やりたかったことはphp-posixのインストールだったんですが、現行ではphp-processに含まれてるということで、php-processをインストールしようとしたんですがエラーが発生してできず。。。

で、調べたらphp-commonが競合してエラーが発生するから、一旦phpとphp-commonを削除してから入れ直すといいよー、みないなことが書かれてて、その通りに一旦削除したんですが、今度はそこに書かれている通りにコマンド打ってもインストールできない、という事態が発生しまして。

そんなこと実サーバーでやるなよって感じなんですが、やっちゃったんですね。これが。

で、とりあえず、上記で復旧しているはずです。たぶん。

そんなわけで、なにか不具合ありましたらお知らせいただけると幸いです。