JWood
JWood

Reputation: 2834

PHP / Apache sh error permission denied on every request

I've got a recently setup server which is running Apache and PHP 5.3.9, every request made to the server results in an error in the error log file:

sh: line 0: cd: /root: Permission denied

The error is happening before any PHP code is executed so it must be something in the setup somewhere but it's a new box and is running a stock configuration.

What would cause this error?

EDIT:

Running on Amazon Linux (EC2) 2.6.35.14-97.44.amzn1.x86_64

It shouldn't be running any scripts, it's running PHP in mod_php mode, not CGI and the error is happening before and PHP code is executed

Upvotes: 1

Views: 2632

Answers (2)

Jean-Luc Cooke
Jean-Luc Cooke

Reputation: 11

This is the AWSSDKforPHP doing this.

Inside /usr/share/pear/AWSSDKforPHP/sdk.class.php you will find:

$_ENV['HOME'] = `cd ~ && pwd`;

For some silly reason, it's trying to "cd" into /root. Change that line to the following:

$_ENV['HOME'] = "/var/www"; #`cd ~ && pwd`;

And it will go away.

Upvotes: 1

Bolli
Bolli

Reputation: 5274

Could look like a script that does not have executable rights.

If you know which script it is, you can give it the rights by:

chmod +x /path/to/your/script.sh

As root or with sudo infront.

Edit:

Looking agin, it looks like your script is trying to cd to your /root folder. Most likely the script is run by another user which does not have permission to cd to /root. Only root has that

Upvotes: 3

Related Questions