PHP5対応作業も、MySQL対応作業も順調に終わり先日納品したが、
なぜか、メールが送信できなかった。開発環境では十分にテストして
送信に問題はなかったのだが、調べてみるとPHPのsafe_modeにひかかっていた。

この設定になるとmail関数の5番目のパラメータが無効化されるため、
5番目のパラメータを使用する「sendmail」の設定(osCommerce管理画面)ではメールが送信できない。
苦し紛れに「smtp」に設定して送信しても、
メールが2重に送信される不具合がでるのでやめたほうがいい。

safe_modeをonのまま正常にメールを送信するには送信部の大幅な書き換えが必要なため、
オープンが近い今回はやめて、safe_modeを下記の手順でoffにした。
サーバのコントロールパネルがPleskなので他のサーバとは勝手が違う。

vi /var/www/vhosts/ドメイン/conf/vhost.conf
vi /var/www/vhosts/ドメイン/conf/vhost_ssl.conf

ssl用にもファイルを作って、必要なディレクトリに対して、必要な項目だけを設定する。

<Directory /var/www/vhosts/ドメイン/httpdocs>
php_admin_flag safe_mode off
</Directory>

上記のようなかんじでSSL側も同じものを設定する。

/usr/local/psa/admin/sbin/websrvmng –reconfigure-vhost –vhost-name=ドメイン
service httpd restart

最後に、この順番で設定ファイルを読み込み、Apacheを再起動するとsafe_modeがOffになる。

%d人のブロガーが「いいね」をつけました。