прозреваю, что есть две причины:
1. Php работает как cgi/fcgi, а шелл ты льешь в папку, где права 777, либо сам шелл создается с правами 666( или writable for all). Выход - лить в корень сайта.
2. Какие-то функции в php отключены, например gzinflate. Выход - залить шелл, который не использует отключенные на сервере функции.
уже решил проблему ... отредактировал первый попавшейся php фаил в шелл , в уже залитой теме