レンタルサーバで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の変更が行えないため断念。以前にメモした形でバックアップを取る形とした。
関連記事
-
-
「lz-string」ライブラリで圧縮した文字をPHPで展開する際に文字化けする場合の対応方法
以前、JavaScript / PHPにて「lz-string」を用いてデータの ...
-
-
PHPで他サーバにHTTP経由にてファイルをアップロードする方法
formで画像を送信した後、他サーバにファイルをアップロードしたかった。以前はP ...
-
-
PHPにて短縮URLを展開させて、元のURLを取得する方法
短縮されたURLを展開させて、元のURLを取得したいというケースがあった。方法を ...
-
-
PHPでdatetime型のデータを年月日時分秒に分割する方法
datetime型を年月日時分秒でそれぞれに分割させたい時に今まではいちいちex ...
-
-
PHPでGoogle翻訳を手軽に扱えるライブラリ「google-translate-php」の利用方法
サイト内で一部テキストのGoogle翻訳を行いたい。ただ、Google Clou ...
