我正在尝试通过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 在起作用。
我想念什么?
最佳答案
我还不熟悉Zend Framework的实现,但是您可能要检查是否已将Apache配置为允许PUT和DELETE请求。
假设您正在使用虚拟主机和用户目录,请参见以下文件:.../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
关于zend-framework - Zend_Http_Client::PUT不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3355246/