LoginSignup
2

More than 5 years have passed since last update.

posted at

Organization

AWS SDK for PHPで"Failed to determine HOME directory after trying "sh: line 0: cd: /root: Permission denied"の対処法

原因

AWS SDK for PHPは、config.inc.php というファイルを自動探索してくれる(ちょっとおせっかいな)機能があります。

ところが環境変数HOMEが/rootなどになっていると表題のエラーが出ます。

実は、/usr/share/pear/AWSSDKforPHP/sdk.class.phpの1484行目あたりで、
下記のような外部コマンドが発行されているのです。

sdk.class.php
exec('(cd ~ && pwd) 

解決方法

下記のいずれか

  • Apache設定ファイルでSetEnvでHOMEを設定する
  • $_ENV['HOME'] = '/home/dqneo';のようにPHPスクリプト内で値をセットする
  • define('AWS_DISABLE_CONFIG_AUTO_DISCOVERY', true); として自動探索させない

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2