We have moved our forum to GitHub Discussions. For questions about Phalcon v3/v4/v5 you can visit here and for Phalcon v6 here.

Phalcon, PHP 5.5, Ubuntu 13.10 Issues

Hello all, I've been reading a bunch about Phalcon and was looking forward to checking it out. I have Phalcon compiled, linked to the php5.ini and the phpinfo() page I have shows it installed, enabled, and there. However, when I try to run the test/default application I'm seeing this in the apache logs. This is a brand new server installed with PHP 5.5, Ubuntu 13.10, Apache 2.4.

[Wed Apr 02 18:46:14.381872 2014] [core:notice] [pid 7634] AH00052: child pid 7639 exit signal Illegal instruction (4)

For giggles we installed Phalcon the same way on an older dev 12.04 server with Apache 2.2, PHP 5.3 and everything runs fine. Is there any known issues with Phalcon on the newer distros?

Thanks for your help and looking forward to getting this thing running.

edited Apr '14

Some additional hunting had me going through the bootstrap index.php file and it appears the issue is coming from the Phalcon\Loader registerDirs. I can get the page to at least render and not crash the Apache process by not passing an array to the registerDirs. Here is my index.php that allows the request to actually render.

try {

    //Register an autoloader
    $loader = new \Phalcon\Loader();
    $loader->registerDirs(
        //array(
        //    '../app/controllers/',
        //    '../app/models/'
        //)
    )->register();

    //Create a DI
    $di = new Phalcon\DI\FactoryDefault();

    //Set the database service
    $di->set('db', function(){
        return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
            "host" => "localhost",
            "username" => "root",
            "password" => "secret",
            "dbname" => "test_db"
        ));
    });

    //Setting up the view component
    $di->set('view', function(){
        $view = new \Phalcon\Mvc\View();
        $view->setViewsDir('../app/views/');
        return $view;
    });

    //Handle the request
    $application = new \Phalcon\Mvc\Application();
    $application->setDI($di);
    echo $application->handle()->getContent();

} catch(\Phalcon\Exception $e) {
     echo "PhalconException: ", $e->getMessage();
}

Additional hunting and tracking I ran across this in dmesg

[1156560.603934] traps: php[5067] trap invalid opcode ip:7fa191d7ddc8 sp:7fffa291e4c0 error:0 in phalcon.so[7fa191c18000+28d000] [1157014.697160] traps: php[6185] trap invalid opcode ip:7ff2b48f5dc8 sp:7fff678e6f00 error:0 in phalcon.so[7ff2b4790000+28d000] [1157054.064211] traps: php[6205] trap invalid opcode ip:7ff3f4deddc8 sp:7fff6d8f26c0 error:0 in phalcon.so[7ff3f4c88000+28d000] [1157071.808218] traps: php[6256] trap invalid opcode ip:7faee68eddc8 sp:7fffa58c37b0 error:0 in phalcon.so[7faee6788000+28d000] [1163761.182522] traps: php[14456] trap invalid opcode ip:7ff9713fddc8 sp:7fffc2847580 error:0 in phalcon.so[7ff971298000+28d000] [1163770.970886] traps: php[14458] trap invalid opcode ip:7f2335795dc8 sp:7fffed6b82c0 error:0 in phalcon.so[7f2335630000+28d000]



98.9k
Accepted
answer

Try compiling Phalcon this way:

cd cphalcon/build/safe
export CFLAGS="-O2 -fvisibility=hidden"
phpize 
./configure --enable-phalcon
make
sudo make install

Awesome! Thank you! I'm off and running. Many many thanks!