永田順伸のブログ

osCommerce alter PHP5対応 backup.phpが動作しない

管理画面のデータベースバックアップ機能が動作しない。
バックアップを実行すると画面が白く表示されるだけだ。
PHPプログラムにはミスがなく、設定が間違っていそうだとは思ったが、
調べてみると原因が2つもあって、修正に時間がかかった。

ひとつめはメモリーリミットの設定。PHP5.2のデフォルトが124Mらしいので、
そのとおりに設定したがダメ。
PHPにメモリーリークがあるときの設定が、
「-1」(無制限)なので、これを設定した。
このスクリプトを実行するときだけの設定にするため、設定をPHPファイル内部に記述。

ふたつめの設定変更はプログラムの実行時間の制限。
通常30秒に設定されているが、修正したosCommerceのデータ処理は105秒かかった。
15秒足して120秒に変更した。

pleskを使用したサーバなので、

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

これらのファイルに
<Directory /var/www/vhosts/ドメイン/httpdocs>
    php_admin_flag safe_mode off
    php_admin_value max_execution_time 120
    php_admin_value max_input_time 120
</Directory>

を書き込んで

最後に、ファイルを読み込ませて、
/usr/local/psa/admin/sbin/websrvmng –reconfigure-vhost –vhost-name=ドメイン

Apacheを再起動した。
service httpd restart graceful

これでバックアップできた。

モバイルバージョンを終了