I am trying to deploy a yii2 website in rackspace cloud site for testing and I get this error and the site main page never shows up
[color="#FF0000"][11-Jun-2014 14:10:07 America/Chicago] exception ‘yii\base\ErrorException’ with message ‘PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/yaz.so’ - /usr/lib64/php/modules/yaz.so: undefined symbol: pval_destructor’ in Unknown:0 Stack trace:
0 [internal function]: yii\base\ErrorHandler->handleFatalError()
Yii2 web site works perfectly on my MAC localhost but not on the server. I verified that all requrirements are passed in the server(I could access requirements.php through url on server and it passed). The server has PHP 5.4.10.
Any thoughts on when this yaz.so is loaded and why its not loaded on my dev system with php 5.5?
Not Yii’s fault. Google for yaz pval_destructor.
Thanks bis. I understand its not yii’s fault. I am trying to understand where this yaz.so is loaded? It happens in the place where when my webpage initialize model(something with DB). I see in the forums that in later PHP versions this pval_destructor is modified to something else, but right now my cloud server is with 5.4.10 and the error happens only there. So i was trying to see if there is something that i can do without modifying the server(as I dont have access to the cloud server(cloud site in rackspace)).
I too am trying to host a website on rackspace’s cloud sites using the Yii2 framework. I have successfully hosted websites using Yii 1.x, but am having this same issue trying to run with the Yii2 framework.
I agree with biz that this is not a Yii issue, but I wanted to know if anyone had tried Yii2 with Rackspace’s cloud site and if they were successful or not.
I have found the issue to this specific problem and thought I would post my findings so it may help others.
This issue is specific to running Yii2 on Rackspace cloud site servers, but it can also be seen in other cases if similar conditions exist.
Specifically, the cause of this issue is that the server provider (Rackspace) is using XCache 2.x as part of its PHP configuration. It turns out this version of XCache has a bug when using the Trait feature in PHP. Yii2 uses Traits and as a result exposes this issue.
The correct solution is to update the version of XCache from 2.x to 3.x.
But if the service provider will not allow that, then another solution is to update the php configuration locally in the .htaccess file:
I had to put the following in my .htaccess file:
php_flag xcache.cacher Off
php_flag xcache.size 0
php_flag xcache.stat Off
This solved the problem for me, and now I am able to run a Yii2 powered website on a Rackspace cloud site.