Gần đây tôi đã nâng cấp máy chủ sản xuất của tôi để Ubuntu 14.04 và PHP 5.6, và bây giờ tôi nhận được cảnh báo trong bản ghi lỗi của tôi:
2014/10/31 10:42:45 [error] 17128#0: *46238 FastCGI sent in stderr: "PHP message: PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0" while reading response header from upstream, client: 24.123.216.42, server: example.com, request: "POST /api/notes HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "example.com", referrer: "https://example.com/admin/"
tôi read the documentation cũng như câu hỏi có vẻ liên quan này: Undefined variable: HTTP_RAW_POST_DATA. Tuy nhiên, tôi không thể tìm ra lý do tại sao thông báo này được ghi lại. Theo như tôi có thể nói, tôi không sử dụng $HTTP_RAW_POST_DATA
ở bất kỳ nơi nào trong codebase của mình. Tôi đã thử:
find . -exec grep "HTTP_RAW_POST_DATA" {} \; -print 2>/dev/null
từ thư mục gốc của dự án của tôi (bao gồm tất cả thư mục của nhà cung cấp), nhưng tôi không tìm thấy bất kỳ kết quả phù hợp nào.
I read more about always_populate_raw_post_data
và có vẻ như chỉ $HTTP_RAW_POST_DATA
chỉ được điền nếu tham số always_populate_raw_post_data
được đặt thành TRUE. Tôi đã kiểm tra phpinfo()
tôi và các tham số được thiết lập để 0.
Nếu tôi không rõ ràng gọi $HTTP_RAW_POST_DATA
và always_populate_raw_post_data
được thiết lập để 0
, tại sao tôi lại nhận được những thông báo này trong nhật ký lỗi của tôi? Thiết lập always_populate_raw_post_data
thành -1
làm gì?
Có thể nó được chôn trong tệp cấu hình của máy chủ. –
Tôi đã nghĩ về điều đó. Tôi chạy một 'find/etc/nginx -exec grep" always_populate_raw_post_data "{} \; -print 2>/dev/null' không có kết quả. Ngoài ra, nó hiển thị là '0' trong' phpinfo() '. –
Bạn biết khoan, tạo mã tối thiểu để tái tạo vấn đề. –