2011-01-06 35 views
8

Các phương pháp để bật bộ đệm đầu ra là gì trong một tập lệnh PHP hoặc sử dụng và tệp htaccess?Bộ đệm đầu ra PHP

tôi sử dụng phương pháp sau đây trong một tập tin .htaccess trong thư mục gốc của ứng dụng của tôi:

php_value output_buffering On 
php_value output_handler mb_output_handler 

Trên một trong các tài khoản lưu trữ chia sẻ của tôi (linux hosting với PHP 5.2.x) thì sản lượng trên một trang trống . Hỗ trợ kỹ thuật cho biết họ không thể bật tính năng này trong tệp php.ini nhưng tôi có thể bật tính năng này trong tập lệnh của mình ...

ob_end_flush() cũng mang lại kết quả tương tự. Tôi có thể làm gì?

+1

Nếu bạn nhận được các trang trống, hãy nhìn vào 'error.log'. Bạn đã thiết lập [mã hóa đầu ra] (http://php.net/manual/en/function.mb-output-handler.php) trước khi kích hoạt mb_output_handler? – mario

+0

Đăng mã thực tế. – profitphp

+0

@mario, không, tôi không biết tôi phải làm gì. Làm thế nào tôi có thể làm điều đó? –

Trả lời

6

Sử dụng ob_start()ob_end_flush().

ob_start() khi bắt đầu tập lệnh trước bất kỳ đầu ra nào (thậm chí không phải là khoảng trống).

Khi bạn muốn sử dụng đầu ra ob_end_flush().

+2

lần thứ hai ive nhìn thấy điều này ngày hôm nay.Bạn có thể bật bộ đệm đầu ra SAU KHI hoặc TRƯỚC KHI nội dung in ấn.Nó làm cho không có sự khác biệt. URuKl – profitphp

+0

Chắc chắn nó tạo ra sự khác biệt.Nếu bạn in một cái gì đó mà không có bộ đệm đầu ra được bật, nó sẽ thực sự được xuất ra –

+0

@ klinky tôi đã không cố gắng để chứng minh ob, tôi đã chứng minh rằng bạn có thể gọi nó bất cứ lúc nào, không chỉ tại bắt đầu trước khi bất kỳ đầu ra, như predrag.music đã nêu – profitphp

2

Kiểm tra tệp PHP.ini của bạn và đảm bảo Bộ đệm đầu ra được bật.

Sau đó, bạn có thể sử dụng ob_start() bất cứ khi nào bạn muốn bắt đầu lưu vào bộ đệm và ob_flush() để xóa bộ đệm bất cứ khi nào bạn muốn ngừng lưu vào bộ đệm.

+0

xin lỗi, chia sẻ lưu trữ - không truy cập vào tệp php.ini ....! –

+1

Nếu bạn sử dụng cP anel (hầu hết các host làm), có một tùy chọn để thay đổi cấu hình php.ini. – user509006

+1

FYI Scott, tôi sử dụng hostmonster.com, được chia sẻ lưu trữ, và tôi vẫn có thể chỉnh sửa tập tin php.ini của riêng tôi. – justinl

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