Please whitelist cPanel in your adblocker so that you’re able to see our version release promotions, thanks!

The Community Forums

Interact with an entire community of cPanel & WHM users!

PHP7 OpCache / Compiled Byte-Code Optimizers / Security

Discussion in 'EasyApache' started by sparek-3, Dec 13, 2016.

  1. sparek-3

    sparek-3 Well-Known Member

    Aug 10, 2002
    Likes Received:
    Trophy Points:
    cPanel Access Level:
    Root Administrator
    Since there doesn't appear to be a lot of traction concerning this topic from the Zend OPcache and PHP-FPM post. I thought I'd ask here. Perhaps it's just not a paramount issue for everyone and there's no need for discussion. Or perhaps few people are aware of the issues.

    In that thread it was pointed out that OpCache probably isn't a good thing to have enabled in a shared hosting environment. Based on the shared memory aspect of it, I would tend to agree.

    However, this makes me wonder if there is a compiled byte-code optimizer that is recommended for shared hosting? XCache would appear to be a valid alternative for PHP 5.6. Or are there arguments against this? But XCache only works for up to PHP 5.6. It is not being developed for PHP 7.0 and PHP 7.1, which is where the PHP landscape is headed.

    So is there a compiled byte-code optimizer for PHP 7.0 and PHP 7.1 that would be recommended for shared hosting?

    Would using file-caching in OpCache for PHP 7.0 and PHP 7.1 be an effective alternative? File caching in OpCache was introduced in PHP 7.0 and does not exist for PHP 5.6. However, cPanel's PHP 7.0 opCache does not have this enabled. The PHP 7.0 opCache module is not compiled with --enable-opcache-file. Is there a reason for this?

    I'm not sure how effective OpCache file caching really is. I'm also not sure if it solves any of the security implications from a shared memory model. It would seem to (as long as it's done properly) because the files would be owned by the account owner. You would just need to be sure to set:

    php_admin_flag[opcache.file_cache_only] = 1
    php_admin_value[opcache.file_cache] = /home/%user%/.opcache
    and make sure /home/%user%/.opcache exists and is owned by %user%.

    But again, this would require that cPanel's PHP 7.0 and PHP 7.1 builds to compile opCache with --enable-opcache-file.

    So to summarize:

    For PHP 5.6 using Xcache instead of opCache would seem to be a better solution for a compiled byte-code optimizer - XCache in EasyApache4 - although with PHP 7.0 / PHP 7.1 becoming more of the norm, I'm not sure how much time would really be dedicated to this.

    For PHP 7.0 and PHP 7.0 cPanel should release opCache compiled with --enable-opcache-file so that server administrators at least have the option of using file caching.
  2. cPanelMichael

    cPanelMichael Technical Support Community Manager Staff Member

    Apr 11, 2011
    Likes Received:
    Trophy Points:
    cPanel Access Level:
    Root Administrator

    I'll leave this thread open for the additional user-feedback you are seeking, however note that generally this type of discussion is better handled on our feature request website.

    There is some discussion on the following StackOverflow thread that may help as well:

    Is there any compatible memory cache for PHP 7?

    I encourage you to open a feature request to seek out additional feedback on this request. The feature request site is where you will receive direct input from our Community Manager and developers.

    Thank you.
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice