CentOS 7 でPHPからファイルがアップロードできない問題への対応

先日構築したCentOS 7 で構築したサーバで
PHPからファイルがアップロードできない問題に遭遇したので覚え書き。

結論から言ってしまえば、SELinuxのせいだった。

他のサーバで稼働していたシステムをそのまま持ってきてもエラーになるので
どうにも原因が不明。

PHPのバージョンは5.4xなのでsafe_modeは関係なし。
勿論アップロード先のパーミッションは777 or 707に設定済。

Apacheのエラーログではmove_upload_fileのエラーがでてるので
サーバ側の問題なのだが、一体何だと考えていた時にふと気がついた。


SELinuxだな…

# getenforce

で確認すると

Enforcing

有効になっていた。


# setenforce 0 で無効化。


サーバ再起動後も無効になるように
/etc/selinux/config



SELINUX=enforcing を SELINUX=disabled に変更


PHPから問題なくアップロードできた。

Related Posts