[solved] Error: Compilation failed: POSIX named classes are supported only

Discussion in 'PHP' started by dihuta, Aug 8, 2012.

  1. dihuta

    dihuta Well-Known Member

    full title:Error: Compilation failed: POSIX named classes are supported only within a class

    This error from openID class in Zend Framework. Working fine on other web server except Litespeed.

    preg_match() [function.preg-match]: Compilation failed: POSIX named classes are supported only within a class at offset 21

    preg_match('|^([^:]+)://([^:@]*(?:[:][^@]*)?@)?([^/:@?#]*)(?:[:]([^/?#]*))?(/[^?]*)?((?:[?](?:[^#]*))?(?:#.*)?)$|'Zend_OpenId::selfUrl(), $reg)) {

    Source file: http://framework.zend.com/svn/framework/standard/trunk/library/Zend/OpenId.php
    Line 162, 409.

    I try to upgrade, downgrade php from 5.3.5 to 5.3.14 but it can not help.
    Could you please help me fix this?
    Thank you.
    Last edited by a moderator: Aug 15, 2012
  2. webizen

    webizen Well-Known Member

    make sure litespeed svr has the matching PHP built as other server.
  3. dihuta

    dihuta Well-Known Member

    I try upgrade/downgrade all versions of PHP, same to others too, but it can not help, issue is still exist.
  4. webizen

    webizen Well-Known Member

    It is not just the PHP version but the compile options.
  5. dihuta

    dihuta Well-Known Member

    Is there any advice on build option as I left other as default DirectAdmin built.
  6. webizen

    webizen Well-Known Member

    run from command line 'php -i' (look for Configure Command line) to get Apache php compile option and use the same options in LSWS php compile
  7. dihuta

    dihuta Well-Known Member

    I try it, try with different php versions,

    But that code still have error. Sample test which has error:




  8. webizen

    webizen Well-Known Member

    Here is the one I have. PHP 5.3.6

    Configure Commands:
    test code
    $subject = 'http://www.example.com/ext/url';
    preg_match('|^([^:]+)://([^:@]*(?:[:][^@]*)?@)?([^/:@?#]*)(?:[:]([^/?#]*))?(/[^?]*)?((?:[?](?:[^#]*))?(?:#.*)?)$|', $subject, $matches);
  9. dihuta

    dihuta Well-Known Member

    The error was fixed with your configure command.
    Thanks for your support.

Share This Page