October: Zend OPcache API is restricted by "restrict_api" configuration directive

Created on 23 Oct 2018  Â·  15Comments  Â·  Source: octobercms/october

Expected behavior

Website works

Actual behavior

Error

Reproduce steps

https://dev.ryanapil.uk/october/

October build

Latest

| CALLED CODE | DOCUMENT | LINE

-- | -- | -- | --
43 | opcache_invalidate(…) | ~/modules/cms/classes/CodeParser.php | 338
42 | Cms\Classes\CodeParser->writeContentSafe(…) | ~/modules/cms/classes/CodeParser.php | 156
41 | Cms\Classes\CodeParser->rebuild(…) | ~/modules/cms/classes/CodeParser.php | 112
40 | Cms\Classes\CodeParser->parse() | ~/modules/cms/classes/CodeParser.php | 170
39 | Cms\Classes\CodeParser->source(…) | ~/modules/cms/classes/Controller.php | 521
38 | Cms\Classes\Controller->initCustomObjects() | ~/modules/cms/classes/Controller.php | 295
37 | Cms\Classes\Controller->runPage(…) | ~/modules/cms/classes/Controller.php | 206
36 | Cms\Classes\Controller->run(…) | ~/modules/cms/classes/CmsController.php | 50
35 | Cms\Classes\CmsController->run(…) |   |  
34 | call_user_func_array(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Controller.php | 54
33 | Illuminate\Routing\Controller->callAction(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php | 45
32 | Illuminate\Routing\ControllerDispatcher->dispatch(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Route.php | 212
31 | Illuminate\Routing\Route->runController() | ~/vendor/laravel/framework/src/Illuminate/Routing/Route.php | 169
30 | Illuminate\Routing\Route->run() | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 658
29 | Illuminate\Routing\Router->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 30
28 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php | 41
27 | Illuminate\Routing\Middleware\SubstituteBindings->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
26 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
25 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php | 49
24 | Illuminate\View\Middleware\ShareErrorsFromSession->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
23 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
22 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php | 63
21 | Illuminate\Session\Middleware\StartSession->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
20 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
19 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php | 37
18 | Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
17 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
16 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php | 66
15 | Illuminate\Cookie\Middleware\EncryptCookies->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
14 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
13 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 102
12 | Illuminate\Pipeline\Pipeline->then(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 660
11 | Illuminate\Routing\Router->runRouteWithinStack(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 635
10 | Illuminate\Routing\Router->runRoute(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Router.php | 601
9 | Illuminate\Routing\Router->dispatchToRoute(…) | ~/vendor/october/rain/src/Router/CoreRouter.php | 20
8 | October\Rain\Router\CoreRouter->dispatch(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 176
7 | Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 30
6 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php | 46
5 | Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 149
4 | Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php | 53
3 | Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(…) | ~/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php | 102
2 | Illuminate\Pipeline\Pipeline->then(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 151
1 | Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(…) | ~/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php | 116
0 | Illuminate\Foundation\Http\Kernel->handle(…) | ~/index.php | 43

duplicate

Most helpful comment

For future visitors, Change forceBytecodeInvalidation to false in config/cms.php

All 15 comments

Build 443

Duplicate of #3468, #3438, #3664.

For future visitors, Change forceBytecodeInvalidation to false in config/cms.php

@LukeTowers Its there a way to change that in installer? Getting same error from it in installation process.

[2020/04/01 03:23:20] Handler error (onInstallStep): Zend OPcache API is restricted by "restrict_api" configuration directive
[2020/04/01 03:23:20] Trace log:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Zend OPcache AP...', '/data/e/a/ea752...', 435, Array)
#1 /data/e/a/ea75210e-ec46-4b43-9cc9-f2acc3518e32/xx/web/install_files/php/Installer.php(435): opcache_reset()
#2 /data/e/a/ea75210e-ec46-4b43-9cc9-f2acc3518e32/xx/web/install_files/php/Installer.php(378): Installer->buildConfigFile()
#3 /data/e/a/ea75210e-ec46-4b43-9cc9-f2acc3518e32/xx/web/install_files/php/Installer.php(48): Installer->onInstallStep()
#4 /data/e/a/ea75210e-ec46-4b43-9cc9-f2acc3518e32/xx/web/install_files/php/boot.php(91): Installer->__construct()
#5 /data/e/a/ea75210e-ec46-4b43-9cc9-f2acc3518e32/xx/web/install.php(1): include('/data/e/a/ea752...')
#6 {main}

@Samuell1 you could use a different way of installing October

@LukeTowers i just commented line in Installer.php(435): opcache_reset()

@Samuell1 can you change that line to the following instead and let me know if that solves it?

if (function_exists('opcache_reset') && (($opcache_restrict_api = trim(ini_get('opcache.restrict_api'))) && mb_stripos(__FILE__, $opcache_restrict_api) === 0))

@LukeTowers cant test it already installed ocms :(

@Samuell1 can you try installing it again on the server?

@LukeTowers Website already running but this same check is in ocms core no? it should then work no?

Try enabling cms.forceBytecodeInvalidation and see if that line of code helps then

@LukeTowers forcebytecode is enabled and it works, issue is only with installer.

Pushed the opcache config fix to the installer too, so it should be fixed now.

Hi @LukeTowers

Just to let you know that your push fixed this issue :)

Best

Perfect, thanks for the update @Ladylain!

Was this page helpful?
0 / 5 - 0 ratings