2012-03-04 37 views
14

khi tôi làm một tiếng vang đơn giản của $ HTTP_RAW_POST_DATA tôi nhận được lỗi:biến Không xác định: HTTP_RAW_POST_DATA

Undefined variable: HTTP_RAW_POST_DATA 

tôi đọc rằng trong php.ini tôi cần phải bỏ dấu tick

always_populate_raw_post_data = On 

nhưng tôi vẫn nhận được lỗi và tôi cũng đã khởi động lại Apache. Im sử dụng php 5.3.6

+0

Bạn có đang sử dụng bất kỳ HTTP_RAW_POST_DATA nào cho bất kỳ dịch vụ web nào không? – Milap

+0

trong ví dụ này, không, nhưng tôi hoặc theo cách tôn giáo đã theo dõi trang này http://phpmaster.com/web-services-with-php-and-soap-1/ và gặp lỗi nên tôi đã tạo một trang để điều tra lỗi. –

Trả lời

24

Nếu bạn cần truy cập vào cơ thể POST liệu bạn thực sự cần ủng hộ việc sử dụng các dòng php://input qua $HTTP_RAW_POST_DATA theo relevant manual entry:

php://input is a read-only stream that allows you to read raw data from the request body. In the case of POST requests, it is preferable to use php://input instead of $HTTP_RAW_POST_DATA as it does not depend on special php.ini directives. Moreover, for those cases where $HTTP_RAW_POST_DATA is not populated by default, it is a potentially less memory intensive alternative to activating always_populate_raw_post_data. php://input is not available with enctype="multipart/form-data".

Vì vậy, để truy cập vào cơ thể POST sử dụng php://input:

$post = file_get_contents('php://input'); 
+0

cảm ơn, tôi đã nhìn thấy điều này khi tôi đã đọc lên trên không xác định là tốt nhưng didnt nghĩ rằng để sử dụng nó. nhưng tôi đã sai, cảm ơn! –

19

Nếu bạn nhận được

Notice: Undefined variable: HTTP_RAW_POST_DATA

Vui lòng mở tệp Máy chủ của bạn thêm tìm

$server->service($HTTP_RAW_POST_DATA); 

và thay thế bằng 2 dòng sau.

if (!isset($HTTP_RAW_POST_DATA)) $HTTP_RAW_POST_DATA =file_get_contents('php://input'); 
$server->service($HTTP_RAW_POST_DATA); 

Tôi hy vọng điều này sẽ hữu ích.

+0

cảm ơn một người đàn ông ... – San

+0

chào mừng bạn. Hãy tận hưởng .. @San – Milap

+0

Milap do u có bất kỳ ý tưởng làm thế nào để có được phản ứng từ một kịch bản php, như tôi đã sử dụng dịch vụ xà phòng và nó đang chạy tốt, tìm kiếm nhiều bài viết và họ đề nghị tôi thực hiện ajax, php là phía máy chủ và tôi muốn để nhận phản hồi từ nó để tôi có thể sử dụng nó ở dạng html của tôi ... – San

Các vấn đề liên quan