Open mklooss opened 9 years ago
Hi,
we are using HHVM 3.8 with Magento 1.9 which results in the following error report. Should this combination work?
Best Regards
a:5:{i:0;s:58:"Call to a member function toArray() on a non-object (NULL)";i:1;s:3735:"#0 /home/hauptstadtkoffer/public_html/app/code/community/Payone/Core/Model/Service/InitializeConfig.php(86): Payone_Core_Model_Service_InitializeConfig->initConfigPayment()
we are using in the checkout process only PHP but for the rest of the store hhvm, so you do not have any issue with the payment providers...
which HTTP Daemon you are using?
@mklooss:
1) as webserver we use:
httpd -v Server version: Apache/2.4.6 (CentOS) Server built: Aug 7 2014 14:28:12
2) how do you restrict hhvm to be only used for certain locations / url-patterns?
we currently connect hhvm to apache via
ProxyPassMatch ^/(..php(/(?!admin).)?)$ fcgi://127.0.0.1:9000/home/DELETED/public_html/
@heimuthva
we are using nginx, so our rules be like:
location ~ (index.php/)?checkout/* {
include /etc/nginx/php/customer;
try_files /index.php =404;
}
location ~ (index.php/)?paypal/ipn/* {
include /etc/nginx/php/customer;
try_files /index.php =404;
}
location ~ (index.php/)?contacts/* {
include /etc/nginx/php/customer;
try_files /index.php =404;
}
location ~ (index.php/)?sales/* {
include /etc/nginx/php/customer;
try_files /index.php =404;
}
location ~ (index.php/)?payone_core/transactionStatus* {
include /etc/nginx/php/customer;
try_files /index.php =404;
}
@mklooss: thx for the input.
As Proxypassmatch of Apache is rather unflexible, i solved the problem of using hhvm for most of the Magento frontend but not for Checkout Pages, Admin-Backend etc. as follows (for whom it might interest):
1) Create Magento front-controller for HHVM
In Magento Document-Root:
ln -s index.php hhvm.php
2) Rewrite to hhvm-frontcontroller based on some conditions (e.g. exclude all paths containing admin, checkout and ipn)
edit .htaccess as follows
[...| RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUESTURI} !.(admin|checkout|ipn)._$ RewriteRule . /hhvm.php [L]
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] [...]
3) Proxy to HHVM only for hhvm-front-controller
in Apache httpd.conf
ProxyPassMatch ^/(hhvm.php(/.*)?)$ fcgi://127.0.0.1:9000/{your document root}
Regards
P.S.: cp. http://hauptstadtkoffer.de for an example of the achievable speedup.
Modul Version: 3.3.0 HHVM: 3.1 to 3.5
Issues: