Edit report at http://bugs.php.net/bug.php?id=45945&edit=1

 ID:               45945
 Comment by:       thwien at gmx dot net
 Reported by:      djimenez at conduit-it dot com
 Summary:          Apache byterange output filter nullified if mod_php5
                   output > 8000 bytes
 Status:           Open
 Type:             Bug
 Package:          Apache2 related
 Operating System: Ubuntu
 PHP Version:      5.*, 6CVS (2009-07-15)

 New Comment:

I can confirm this problem. Exactly over 8000 Bytes it does not work
anymore. Also using the Apache module x-sendfile does not solve this
error in my case. The one and only work-around in my case is a header
call with location of a static url.



header('Location: http://any.url/toanyfile.html');

exit;



After this just Apache controls the range operator and it works as
expected.


Previous Comments:
------------------------------------------------------------------------
[2009-10-13 21:30:08] dylan at io dot com

I have found that using sing X-Sendfile will solve this issue:

http://tn123.ath.cx/mod_xsendfile/

(at least for Apache/mod_php).



Also even if this "bug" was fixed, I'm not sure the results would be 

very desirable.  Since there's no way to efficiently "fseek" to a 

particular byte in the script output, I assume mod_php would have to 

transfer the entire document internally for each chunk that was 

requested.

------------------------------------------------------------------------
[2009-09-16 14:15:21] djimenez at conduit-it dot com

Using the handler module:



LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

<IfModule mod_php5.c>

  AddType application/x-httpd-php .php .phtml .php3 .html .inc .func 

.clss

  AddType application/x-httpd-php-source .phps

</IfModule>

------------------------------------------------------------------------
[2009-09-16 12:35:33] [email protected]

Are you using the filter or handler module? What exactly do you put in 

your httpd.conf to enable PHP?

------------------------------------------------------------------------
[2009-07-15 19:01:34] djimenez at conduit-it dot com

I tested against nightly snapshot php5.3-200907151630 and still obtain 

the same results. The bug is probably in the php5 apache2 module.

------------------------------------------------------------------------
[2008-08-31 02:22:29] djimenez at conduit-it dot com

I used amazon ec2 to test and reconfirm this bug on a base install of 

apache2 and php5.2.6 in ubuntu intrepid ibex. No changes to the 

php.ini (which I've included without comments and empty sections):



[PHP]

engine = On

zend.ze1_compatibility_mode = Off



short_open_tag = On

asp_tags = Off

precision    =  12

y2k_compliance = On



output_buffering = Off



zlib.output_compression = Off

implicit_flush = Off



unserialize_callback_func=



serialize_precision = 100



allow_call_time_pass_reference = On



safe_mode = Off

safe_mode_gid = Off

safe_mode_include_dir =

safe_mode_exec_dir =

safe_mode_allowed_env_vars = PHP_

safe_mode_protected_env_vars = LD_LIBRARY_PATH

disable_functions =

disable_classes =



expose_php = On



max_execution_time = 30     ; Maximum execution time of each script, 

in seconds

max_input_time = 60 ; Maximum amount of time each script may spend 

parsing request data

memory_limit = 16M      ; Maximum amount of memory a script may 

consume (16MB)



error_reporting  =  E_ALL & ~E_NOTICE



display_errors = On

display_startup_errors = Off

log_errors = Off

log_errors_max_len = 1024

ignore_repeated_errors = Off

ignore_repeated_source = Off

report_memleaks = On

track_errors = Off



variables_order = "EGPCS"

register_globals = Off

register_long_arrays = On

register_argc_argv = On

auto_globals_jit = On



post_max_size = 8M



magic_quotes_gpc = On

magic_quotes_runtime = Off

magic_quotes_sybase = Off



auto_prepend_file =

auto_append_file =



default_mimetype = "text/html"



doc_root =

user_dir =

enable_dl = Off



file_uploads = On

upload_max_filesize = 2M

allow_url_fopen = On

allow_url_include = Off

default_socket_timeout = 60



[Syslog]

define_syslog_variables  = Off



[mail function]

SMTP = localhost

smtp_port = 25



[SQL]

sql.safe_mode = Off



[ODBC]

odbc.allow_persistent = On

odbc.check_persistent = On

odbc.max_persistent = -1

odbc.max_links = -1

odbc.defaultlrl = 4096

odbc.defaultbinmode = 1



[MySQL]

mysql.allow_persistent = On

mysql.max_persistent = -1

mysql.max_links = -1

mysql.default_port =

mysql.default_socket =

mysql.default_host =

mysql.default_user =

mysql.default_password =

mysql.connect_timeout = 60

mysql.trace_mode = Off



[MySQLi]

mysqli.max_links = -1

mysqli.default_port = 3306

mysqli.default_socket =

mysqli.default_host =

mysqli.default_user =

mysqli.default_pw =

mysqli.reconnect = Off



[mSQL]

msql.allow_persistent = On

msql.max_persistent = -1

msql.max_links = -1



[PostgresSQL]

pgsql.allow_persistent = On

pgsql.auto_reset_persistent = Off

pgsql.max_persistent = -1

pgsql.max_links = -1

pgsql.ignore_notice = 0

pgsql.log_notice = 0



[Sybase]

sybase.allow_persistent = On

sybase.max_persistent = -1

sybase.max_links = -1

sybase.min_error_severity = 10

sybase.min_message_severity = 10

sybase.compatability_mode = Off



[Sybase-CT]

sybct.allow_persistent = On

sybct.max_persistent = -1

sybct.max_links = -1

sybct.min_server_severity = 10

sybct.min_client_severity = 10



[bcmath]

bcmath.scale = 0



[Informix]

ifx.default_host =

ifx.default_user =

ifx.default_password =

ifx.allow_persistent = On

ifx.max_persistent = -1

ifx.max_links = -1

ifx.textasvarchar = 0



ifx.byteasvarchar = 0

ifx.charasvarchar = 0

ifx.blobinfile = 0

ifx.nullformat = 0



[Session]

session.save_handler = files

session.use_cookies = 1

session.name = PHPSESSID

session.auto_start = 0

session.cookie_lifetime = 0

session.cookie_path = /

session.cookie_domain =

session.cookie_httponly = 

session.serialize_handler = php

session.gc_divisor     = 100

session.gc_maxlifetime = 1440

session.bug_compat_42 = 1

session.bug_compat_warn = 1

session.referer_check =

session.entropy_length = 0

session.entropy_file =

session.cache_limiter = nocache

session.cache_expire = 180

session.use_trans_sid = 0

session.hash_function = 0

session.hash_bits_per_character = 4



url_rewriter.tags = 

"a=href,area=href,frame=src,input=src,form=,fieldset="



[MSSQL]

mssql.allow_persistent = On

mssql.max_persistent = -1

mssql.max_links = -1

mssql.min_error_severity = 10

mssql.min_message_severity = 10

mssql.compatability_mode = Off

mssql.secure_connection = Off





[Tidy]

tidy.clean_output = Off



[soap]

soap.wsdl_cache_enabled=1

soap.wsdl_cache_dir="/tmp"

soap.wsdl_cache_ttl=86400

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    http://bugs.php.net/bug.php?id=45945


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=45945&edit=1

Reply via email to