Zend_Http_Client :: PUT не работает - PullRequest
3 голосов
/ 28 июля 2010

Я пытаюсь обновить мою запись с помощью метода PUT

$client = new Zend_Http_Client();
$client->setMethod(Zend_Http_Client::PUT);
$client->setUri('http://example.com/api/type/');
$client->setParameterPost(array(                
    'useremail'  => '*****@****.***',
    'apikey'   => 'secretkey',
    'expenseid' => '4',
    'description' => 'TEST WEB API',
    'amount'   => '5000.00',
));

Однако, похоже, это не работает. То же самое относится и к Zend_Http_Client :: DELETE .Кажется, только Zend_Http_Client :: POST и Zend_Http_Client :: GET работают.

Что мне не хватает?

1 Ответ

1 голос
/ 28 июля 2010

Я пока не знаком с реализацией Zend Framework, но вы можете проверить, настроен ли Apache для разрешения запросов PUT и DELETE.

Предполагая, что вы используете виртуальные хосты и userdirs, смотритеследующий файл:.../apache/conf/extra/httpd-userdir.conf

В этом файле убедитесь, что в списке разрешенных методов HTTP для вашего каталога есть PUT и DELETE.

<Directory ".../path-to-your-vhost-directory-here">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit HEAD GET POST PUT DELETE OPTIONS>
        Order deny,allow
        Deny from all
        Allow from localhost
    </Limit>
    <LimitExcept HEAD GET POST PUT DELETE OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>

Редактировать: Официальную документацию по директиве вы можете найти здесь:http://httpd.apache.org/docs/current/mod/core.html#limit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...