Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]Niemożność wysyłania dużych porcji danych przez POST
Forum PHP.pl > Forum > Przedszkole
pawelkg
Witam,

Mam formularz wysyłany POSTem z kilkoma zaledwie polami. 1 input zawierający niewiele treści, i 2 textarea. 1 ma niedużą porcję HTML-a a drugi zawiera spora porcję danych (~200 KB). Są to małe dane (do 100 znaków), które chcę wpisać do bazy danych, każda w 1 linii. Przy małych porcjach danych (2000 linii), wszystko działa ładnie. Jak chcę przesłać większą porcję danych, to owa zmienna POST ma wartość NULL. Sprawdzałem w Firebug i wynika jakby zmienna POST nie była w ogóle wysyłana. Sprawdzałem to na Chrome i Firefox i sytuacja wygląda tak samo. To problem z domyślną konfiguracją przeglądarek, czy serwera? Jak rozwiązać lub obejść ten problem?

Pozdrawiam!
matiit
W pliku php.ini konfiguracji PHP znajdują się takie linie:
Kod
post_max_size = 64M
upload_max_filesize = 64M


Pewnie przekraczasz ustalone tam limity.
pawelkg
Cytat(matiit @ 25.04.2013, 12:27:07 ) *
W pliku php.ini konfiguracji PHP znajdują się takie linie:
Kod
post_max_size = 64M
upload_max_filesize = 64M


Pewnie przekraczasz ustalone tam limity.


Jak napisałem chcę przesłać przez POST mniej niż 200 KB danych. Jak zapiszę dane z największego pola do pliku ma on 162KB, pozostałe 2 pola mają mniej niż 2KB, więc do 64MB mi bardzo daleko.
matiit
A ja nie mówię, że masz ustawione 64MB, to był przykład z mojej konfiguracji.
pawelkg
Cytat(matiit @ 25.04.2013, 12:32:48 ) *
A ja nie mówię, że masz ustawione 64MB, to był przykład z mojej konfiguracji.


Tak, ale u mnie też są ustawione takie limity.

Przy okazji, właśnie przetestowałem skrypt na innym serwerze i maksymalna porcja danych jaką mam, przeszła. Przeszło ~7500 linii i nie było z tym problemów. Więc pewnie problem w konfiguracji serwera? Dodam, że nie działa na serwerze az.pl a zadziałało na nazwa.pl.
matiit
Pokaż phpinfo() z serwera az
pawelkg
Cytat(matiit @ 25.04.2013, 12:42:49 ) *
Pokaż phpinfo() z serwera az


Całość się 'nie mieści' więc najważniejsze i chyba najistotniejsze w tym przypadku sekcje:

Kod
PHP Version 5.2.17

Build Date     Mar 28 2012 23:41:15
Configure Command     './configure' '--disable-ipv6' '--enable-bcmath' '--enable-calendar' '--enable-dbase' '--enable-exif' '--enable-fastcgi' '--enable-force-cgi-redirect' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-pdo=shared' '--enable-safe-mode' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--enable-ucd-snmp-hack' '--enable-wddx' '--enable-zend-multibyte' '--enable-zip' '--prefix=/usr' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-curlwrappers' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libexpat-dir=/usr' '--with-libxml-dir=/opt/xml2' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mhash=/opt/mhash/' '--with-mime-magic' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-pgsql=shared' '--with-pdo-sqlite=shared' '--with-pgsql=/usr' '--with-pic' '--with-png-dir=/usr' '--with-pspell' '--with-snmp' '--with-sqlite=shared' '--with-tidy=/opt/tidy/' '--with-ttf' '--with-xmlrpc' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr'
Server API     CGI/FastCGI
Virtual Directory Support     disabled
Configuration File (php.ini) Path     /usr/lib
Loaded Configuration File     /usr/local/lib/php.ini
Scan this dir for additional .ini files     (none)
additional .ini files parsed     (none)
PHP API     20041225
PHP Extension     20060613
Zend Extension     220060519
Debug Build     no
Thread Safety     disabled
Zend Memory Manager     enabled
IPv6 Support     disabled
Registered PHP Streams     compress.zlib, compress.bzip2, dict, ftp, ftps, gopher, http, https, imap, imaps, pop3, pop3s, rtsp, smtp, smtps, telnet, tftp, php, file, data, zip
Registered Stream Socket Transports     tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters     zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed

Configuration
PHP Core
Directive    Local Value    Master Value
allow_call_time_pass_reference    On    On
allow_url_fopen    On    On
allow_url_include    Off    Off
always_populate_raw_post_data    Off    Off
arg_separator.input    &    &
arg_separator.output    &    &
asp_tags    Off    Off
auto_append_file    no value    no value
auto_globals_jit    On    On
auto_prepend_file    no value    no value
browscap    no value    no value
default_charset    no value    no value
default_mimetype    text/html    text/html
define_syslog_variables    Off    Off
detect_unicode    On    On
disable_classes    no value    no value
disable_functions    no value    no value
display_errors    Off    On
display_startup_errors    Off    Off
doc_root    no value    no value
docref_ext    no value    no value
docref_root    no value    no value
enable_dl    On    On
error_append_string    no value    no value
error_log    error_log    error_log
error_prepend_string    no value    no value
error_reporting    6143    6135
expose_php    On    On
extension_dir    /usr/local/lib/php/dodatki    /usr/local/lib/php/dodatki
file_uploads    On    On
highlight.bg    #FFFFFF    #FFFFFF
highlight.comment    #FF8000    #FF8000
highlight.default    #0000BB    #0000BB
highlight.html    #000000    #000000
highlight.keyword    #007700    #007700
highlight.string    #DD0000    #DD0000
html_errors    On    On
ignore_repeated_errors    Off    Off
ignore_repeated_source    Off    Off
ignore_user_abort    Off    Off
implicit_flush    Off    Off
include_path    .:/usr/lib/php:/usr/local/lib/php    .:/usr/lib/php:/usr/local/lib/php
log_errors    On    On
log_errors_max_len    1024    1024
magic_quotes_gpc    On    On
magic_quotes_runtime    Off    Off
magic_quotes_sybase    Off    Off
mail.force_extra_parameters    no value    no value
max_execution_time    300    120
max_file_uploads    128    128
max_input_nesting_level    64    64
max_input_time    -1    -1
max_input_vars    1000    1000
memory_limit    128M    128M
open_basedir    no value    no value
output_buffering    0    0
output_handler    ob_gzhandler
    no value
post_max_size    64M    64M
precision    12    12
realpath_cache_size    16K    16K
realpath_cache_ttl    120    120
register_argc_argv    On    On
register_globals    Off    Off
register_long_arrays    On    On
report_memleaks    On    On
report_zend_debug    On    On
safe_mode    Off    Off
safe_mode_exec_dir    no value    no value
safe_mode_gid    Off    Off
safe_mode_include_dir    no value    no value
sendmail_from    no value    no value
sendmail_path    /usr/sbin/sendmail -t -i    /usr/sbin/sendmail -t -i
serialize_precision    100    100
short_open_tag    On    On
SMTP    localhost    localhost
smtp_port    25    25
sql.safe_mode    Off    Off
track_errors    Off    Off
unserialize_callback_func    no value    no value
upload_max_filesize    64M    64M
upload_tmp_dir    /tmp    /tmp
user_dir    no value    no value
variables_order    EGPCS    EGPCS
xmlrpc_error_number    0    0
xmlrpc_errors    Off    Off
y2k_compliance    On    On
zend.ze1_compatibility_mode    Off    Off

suhosin
Suhosin logo This server is protected with the Suhosin Extension 0.9.32.1

Copyright (c) 2006-2007 Hardened-PHP Project
Copyright (c) 2007-2010 SektionEins GmbH

Directive    Local Value    Master Value
suhosin.apc_bug_workaround    Off    Off
suhosin.cookie.checkraddr    0    0
suhosin.cookie.cryptdocroot    On    On
suhosin.cookie.cryptkey    [ protected ]    [ protected ]
suhosin.cookie.cryptlist    no value    no value
suhosin.cookie.cryptraddr    0    0
suhosin.cookie.cryptua    On    On
suhosin.cookie.disallow_nul    1    1
suhosin.cookie.disallow_ws    1    1
suhosin.cookie.encrypt    Off    Off
suhosin.cookie.max_array_depth    50    50
suhosin.cookie.max_array_index_length    64    64
suhosin.cookie.max_name_length    64    64
suhosin.cookie.max_totalname_length    256    256
suhosin.cookie.max_value_length    10000    10000
suhosin.cookie.max_vars    100    100
suhosin.cookie.plainlist    no value    no value
suhosin.coredump    Off    Off
suhosin.disable.display_errors    Off    Off
suhosin.executor.allow_symlink    Off    Off
suhosin.executor.disable_emodifier    Off    Off
suhosin.executor.disable_eval    Off    Off
suhosin.executor.eval.blacklist    no value    no value
suhosin.executor.eval.whitelist    no value    no value
suhosin.executor.func.blacklist    no value    no value
suhosin.executor.func.whitelist    no value    no value
suhosin.executor.include.allow_writable_files    On    On
suhosin.executor.include.blacklist    no value    no value
suhosin.executor.include.max_traversal    0    0
suhosin.executor.include.whitelist    no value    no value
suhosin.executor.max_depth    0    0
suhosin.filter.action    no value    no value
suhosin.get.disallow_nul    1    1
suhosin.get.disallow_ws    0    0
suhosin.get.max_array_depth    50    50
suhosin.get.max_array_index_length    64    64
suhosin.get.max_name_length    64    64
suhosin.get.max_totalname_length    256    256
suhosin.get.max_value_length    512    512
suhosin.get.max_vars    100    100
suhosin.log.file    0    0
suhosin.log.file.name    no value    no value
suhosin.log.phpscript    0    0
suhosin.log.phpscript.is_safe    Off    Off
suhosin.log.phpscript.name    no value    no value
suhosin.log.sapi    0    0
suhosin.log.script    0    0
suhosin.log.script.name    no value    no value
suhosin.log.syslog    no value    no value
suhosin.log.syslog.facility    no value    no value
suhosin.log.syslog.priority    no value    no value
suhosin.log.use-x-forwarded-for    Off    Off
suhosin.mail.protect    0    0
suhosin.memory_limit    0    0
suhosin.mt_srand.ignore    On    On
suhosin.multiheader    Off    Off
suhosin.perdir    0    0
suhosin.post.disallow_nul    1    1
suhosin.post.disallow_ws    0    0
suhosin.post.max_array_depth    50    50
suhosin.post.max_array_index_length    64    64
suhosin.post.max_name_length    64    64
suhosin.post.max_totalname_length    256    256
suhosin.post.max_value_length    65000    65000
suhosin.post.max_vars    200    200
suhosin.protectkey    On    On
suhosin.request.disallow_nul    1    1
suhosin.request.disallow_ws    0    0
suhosin.request.max_array_depth    50    50
suhosin.request.max_array_index_length    64    64
suhosin.request.max_totalname_length    256    256
suhosin.request.max_value_length    65000    65000
suhosin.request.max_varname_length    64    64
suhosin.request.max_vars    200    200
suhosin.server.encode    On    On
suhosin.server.strip    On    On
suhosin.session.checkraddr    0    0
suhosin.session.cryptdocroot    On    On
suhosin.session.cryptkey    [ protected ]    [ protected ]
suhosin.session.cryptraddr    0    0
suhosin.session.cryptua    On    On
suhosin.session.encrypt    On    On
suhosin.session.max_id_length    128    128
suhosin.simulation    Off    Off
suhosin.sql.bailout_on_error    Off    Off
suhosin.sql.comment    0    0
suhosin.sql.multiselect    0    0
suhosin.sql.opencomment    0    0
suhosin.sql.union    0    0
suhosin.sql.user_postfix    no value    no value
suhosin.sql.user_prefix    no value    no value
suhosin.srand.ignore    On    On
suhosin.stealth    On    On
suhosin.upload.disallow_binary    0    0
suhosin.upload.disallow_elf    1    1
suhosin.upload.max_uploads    25    25
suhosin.upload.remove_binary    0    0
suhosin.upload.verification_script    no value    no value


I chyba widzę problem...
zmienna z az.pl
suhosin.post.max_value_length 65000 65000
zmienna z nazwa.pl
suhosin.post.max_value_length 0 0

Da się zmieniać/wykrywać jak te zmienne są ustawione?
rocktech.pl
Witam.

Zmień na 4000.

[APACHE] pobierz, plaintext
  1. suhosin.post.max_vars 200
[APACHE] pobierz, plaintext
matiit
suhosin.request.max_value_length

Prawdopodobnie to ta wartość Cię ogranicza.
pawelkg
Cytat(matiit @ 25.04.2013, 13:00:43 ) *
suhosin.request.max_value_length

Prawdopodobnie to ta wartość Cię ogranicza.

To pewnie też, ale jak napisałem, pewnie też suhosin.post.max_value_length. Da się te zmienne z poziomu skryptu wykryć/zmienić?

@rocktech.pl
Ilość zmiennych mi starcza... jak pisałem przesyłam 3 pola + przycisk to 4, więc w 200 spokojnie się mieszczę smile.gif
matiit
http://php.net/manual/en/function.ini-set.php
Spróbuj ta funkcją, ale czy dla suhosin to zadziała to niestety nie wiem.
pawelkg
Problem rozwiązany.

W międzyczasie kontaktowałem się z pomocą az.pl. Problem zniknął i widzę, że zmienili zmienną suhosin.simulation z On na Off, więc pewnie to tutaj tkwił problem (na nazwa.pl jest na Off). Widać to był problem w konfiguracji serwera.

I dla zainteresowanych. Opcje zmieniono za pomocą pliku .htaccess dodając wpis:

Kod
<IfModule mod_php.c>
php_value suhosin.simulation 1
</IfModule>


Dziękuję za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.