Large number of form elements results in PHP warnings, then breakage

Permalink Browser Info Environment
I'm building a survey form. When I get past a certain number of form elements, I start getting PHP warnings and eventually get to the point that no more elementscan be added to the form. The warnings seem to start around 31-32 elements. I presently have 47 elements and can add no more.

Warning: preg_match_all() [function.preg-match-all]: Compilation failed: regular expression is too large at offset 76837 in /home1/laserwor/public_html/updates/concrete5.6.2.1_updater/concrete/libraries/3rdparty/urlify.php on line 208

Warning: Cannot modify header information - headers already sent by (output started at /home1/laserwor/public_html/updates/concrete5.6.2.1_updater/concrete/libraries/3rdparty/urlify.php:208) in /home1/laserwor/public_html/updates/concrete5.6.2.1_updater/concrete/core/libraries/view.php on line 957

Type: Discussion
Status: Resolved
ltinnel
View Replies:
ltinnel replied on at Permalink Reply
ltinnel
I just tried the instructions here, but it did not fix the problem.

http://www.concrete5.org/marketplace/addons/formidable/forums/preg_...
ltinnel replied on at Permalink Reply
ltinnel
Also: at first it was only printing the error messages in the form design tool. Now it's printing them all over the web page that visitors can see.
DeWebmakers replied on at Permalink Reply
DeWebmakers
That is an issue that I didn't test....

Seems to me it looks like some kind of memory bounds thingy....
I did stumble on such kind of problem on another project, but I can't recall what the solution for this was...

I need to check this...

Best,

Corretje
ltinnel replied on at Permalink Reply
ltinnel
Okay, I fixed it. I put the fix into the 5.6.3.1 folder rather than the 5.6.2.1 folder. The Concrete5 update downloaded but was never installed, so the system was using the other folder.

Is this fixed in 5.6.3.1 or do I need to reapply the patch?
DeWebmakers replied on at Permalink Reply
DeWebmakers
Great! I don't no if they fixed it. I did mention it..

concrete5 Environment Information

# concrete5 Version
5.6.2.1

# concrete5 Packages
Formidable (2.0.11), Forms With PayPal Payment (2.0.5), Hi Chat (1.2.0), Url Director (1.6.5).

# concrete5 Overrides
blocks/autonav, themes/laser2014, themes/laser2013

# Server Software
Apache

# Server API
cgi-fcgi

# PHP Version
5.2.17

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, ctype, curl, date, dba, dbase, dom, exif, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, json, ldap, libxml, mbstring, mcrypt, mhash, mime_magic, mysql, mysqli, ncurses, odbc, openssl, pcntl, pcre, PDO, pdo_dblib, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, posix, pspell, readline, Reflection, session, shmop, SimpleXML, soap, sockets, SPL, SQLite, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend Optimizer, zip, zlib.

# PHP Settings
max_execution_time - 30
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 128M
post_max_size - 50M
safe_mode - Off
safe_mode_exec_dir - <i>no value</i>
safe_mode_gid - Off
safe_mode_include_dir - <i>no value</i>
sql.safe_mode - Off
upload_max_filesize - 50M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 200000
pcre.recursion_limit - 200000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - nocache
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
safe_mode_allowed_env_vars - PHP_
safe_mode_protected_env_vars - LD_LIBRARY_PATH

Browser User-Agent String

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You may not request a refund that is not currently owned by you.