I get the following error messages after activating the Status messages in panels:
warning: preg_match_all() [function.preg-match-all]: Compilation failed: support for \P, \p, and \X has not been compiled at offset 14 in /var/www/vhosts/mypage.com/httpdocs/sites/default/modules/facebook_status/facebook_status_tags.module on line 348.
warning: uasort() [function.uasort]: The argument should be an array in /var/www/vhosts/mypage.com/httpdocs/sites/default/modules/facebook_status/facebook_status_tags.module on line 352.
warning: Invalid argument supplied for foreach() in /var/www/vhosts/mypage.com/httpdocs/sites/default/modules/facebook_status/facebook_status_tags.module on line 356.
The message appears to the admin and to authenticated users. I've got the module running on my local server without any problems. The error message just appears on my hosts server. I can't figure out how to fix it and spend already hours finding a solution.
I would be very happy about any help i can get!
Regards
honorfield
Comments
Comment #1
icecreamyou commentedUnfortunately, it looks like your server compiled PHP (the programming language on which Drupal runs) without support for international characters in Regex. I'm not taking that out, and there's no way to check if your server supports it before trying it and failing.
My inclination is to just mark this "won't fix," but I'm curious if other people have this problem. I might just implement a killswitch that will allow sites to avoid the internationalized regexing if this is a widespread problem (which I strongly suspect it's not; international regex is PHP standard, and anything less is usually indicative of a bad host). I will research this.
Obviously, this just prevents the facebook_status_tags module from working -- the facebook_status module will still do its job.
Comment #2
honorfield commentedThanks,
i contacted my host and he send me this message:
-----------------
You had:
php-5.1.6-23.2.el5_3
This is the latest default php package available in the repositories for CentOS 5. I have installed a newer version:
php-5.2.11-2.el5.art
Try now, if it still does not work it means it is not part of a standard PHP install and PHP will need to be compiled from source code to enable it.
-----------------
It still gives me an error message when i run the facebook_status_tags module. What exactly is this Regex? Can i do something myself? I have full root access to my VPS in case i need to install some additional software.
Comment #3
icecreamyou commentedIt turns out that the operating system CentOS, which is a not-altogether-uncommon OS for servers, comes with a poorly packaged version of PHP adopted from a version of Red Hat Linux that has a version of PCRE (the regex engine) compiled without UTF-8 support (internationalization).
Essentially, you're stuck without support for international characters in tags, but I've added a killswitch to avoid the errors (instructions here).
Comment #5
finex commentedFollowing the instruction on http://drupal.org/node/551698#pcre didn't fixed this problem. Some hints?
P.S: the new variable has been saved in the DB.
Comment #6
MrSnivvel commentedFound this link: http://chrisjean.com/2009/01/31/unicode-support-on-centos-52-with-php-an...
Basically, I had to recompile PCRE from the SRPM and all was good. CentOS 5.5