管理画面のデータベースバックアップ機能が動作しない。
バックアップを実行すると画面が白く表示されるだけだ。
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
これでバックアップできた。