レンタルサーバでPHPのsystem関数やexec関数が使用できずにエラーが出力される
2024/01/10
レンタルサーバ上でPHPのsystem関数を実行しようとすると「Fatal error: Uncaught Error: Call to undefined function system()」というエラーが出力された。exec関数も同様のエラー内容となった。調査したところphp.iniの設定により制限がかかっていた。
phpinfo()で確認
disable_functionsという項目にsystemとexecが設定されており、こちらが原因で当該関数は利用できない模様。
disable_functions
リファレンスによると当該設定を行うことで指定した関数を無効にすることができるとのこと。
その他
PHPがセーフモードで動作している場合、exec関数が使えなくなる場合もある模様。今回は前述の設定の問題だったけど、このようなケースもある点を覚えておく。
所感
今回はsystem関数でmysqldumpを実行しようと思ったが、当該環境ではphp.iniの変更が行えないため断念。以前にメモした形でバックアップを取る形とした。
関連記事
-
-
PHPで画像のフォーマット(拡張子)の変換
画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...
-
-
PHPでログインフォームにひらがな認証を設置する方法
ログインフォームに平仮名認証を設置したい。英数字認証だとSecurimageとい ...
-
-
CodeIgniter4でフォームからファイルをアップロードし保存する方法
CodeIgniter4.4.4でformから画像等のファイルをアップロードし、 ...
-
-
バニラPHPでフラッシュデータ(フラッシュメッセージ)機能を実装する方法
PHPフレームワークのCodeIgniterを勉強していた際にページ遷移好みに表 ...
-
-
PHPにてSession発行時に保存されるCookieに対してHttpOnly / Secure属性を設定する方法
先日PHPのsetcookie実行時にHttpOnly / Secure属性を設 ...
