7

任意の形式で何かをアップロードしようとすると、サイトに警告: セキュリティ上の理由により escapeshellarg() が無効になっているというメッセージが表示されます。これを修正するにはどうすればよいですか?

私のフレームワークは codeigniter 最終バージョンです。

完全な警告は次のとおりです。

A PHP Error was encountered

Severity: Warning

Message: escapeshellarg() has been disabled for security reasons

Filename: libraries/Upload.php
4

4 に答える 4

5

試す

$cmd = 'file --brief --mime ' . @escapeshellarg($file['tmp_name']) . ' 2>&1';

system/libraries フォルダーから Upload.php ファイルを開き、 1066 行@目の前に置きescapeshellarg($file['tmp_name'])ます。次に、このファイルを application/libraries フォルダーの下にアップロードします。それ以外の場合は問題ありません。システムの Upload.php ファイルを置き換えることができます。

于 2012-08-22T05:00:23.090 に答える
2
  1. php.ini*ファイルのdisable_functionsからescapeshellarg文字列を削除します

  2. php.ini *ファイルにアクセスできない場合は、ホスティングプロバイダーに上記の文字列を削除するよう依頼してください

  3. escapeshellarg関数の実行を許可するホスティングプロバイダーを変更します。

このウェブサイトから:http ://www.2by2host.com/articles/php-errors-faq/disabled_escapeshellarg/

于 2012-05-01T06:13:03.847 に答える
2

この問題を解決するもう 1 つの簡単な方法は、アプリケーションを からdevelopmentに移動することproductionです。

index.phpアプリケーションルートで開き、変更します

define('ENVIRONMENT', 'development');

define('ENVIRONMENT', 'production');
于 2015-07-27T11:43:34.383 に答える