Đến với một thứ gì đó lạ khi di chuyển đến máy chủ mới của tôi.Có khả năng Echo trước tiêu đề()
Tôi có một tập lệnh sẽ chuyển hướng người dùng đến một trang web khác dựa trên các điều kiện nhất định. Những gì tôi đã làm, tuy nhiên, là echoing ra 'Redirecting ...', sau đó sử dụng chức năng header() để thực sự chuyển hướng. Sau đây là cách mã nhìn:
if($condition) {
echo 'Redirecting...';
header('Location: ' . $url);
}
Bây giờ tôi chỉ nhận thấy rằng đây là không chính xác sau khi chuyển đổi sang máy chủ mới của chúng tôi, thử nghiệm nó ra, và thấy rằng nó sẽ không chuyển hướng chỉ chuyển hướng đầu ra ... và khi tôi tìm kiếm về nó, đã học được bạn không thể có bất kỳ loại đầu ra nào (trừ khi sử dụng ob_start vv) trước khi sử dụng hàm header().
Câu hỏi là, tại sao mã này, KHÔNG nên hoạt động trong BẤT CỨ cài đặt PHP, hoạt động trên máy chủ cũ của tôi? Nó sẽ chuyển hướng với echo trước header() không có vấn đề gì.
Cảm ơn!
Tôi tin rằng bạn có thể bật đệm đầu ra theo mặc định trong php.ini của mình. Phía dưới là toàn bộ yêu cầu phải hoàn thành trước khi bất kỳ đầu ra nào được gửi tới người dùng. – meagar