Гайды

Zend OPcache API is restricted by «restrict_api» в AnyComment

Автор 3 февраля, 2019 One Comment

При установленном AnyComment, в логах можно встретить следующее предупреждение:

Warning: Zend OPcache API is restricted by "restrict_api" configuration directive in wp-content/plugins/anycomment/vendor/tedivm/stash/src/Stash/Driver/FileSystem.php on line 240

Оно лишь указывает на то, что для Zend OPcache стоит ограничение на использование restrict_api.

Я не буду вдаваться в подробности, так как это не тема этой записи, поэтому давайте разберемся с тем как скрыть предупреждение.

Сразу скажу, что это никак не вредит работе плагина или вашего сайта.

Для начала вам нужно понять на чем у вас работает сайт — Apache или Nginx. Ниже представлены инструкции для того и другого.

Apache

Если у вас сайт работает на Apache, то для начала откройте .htaccess.

И так, вам нужно узнать:

  • Какая версия PHP установлена на вашем сайте?

Далее выбирайте инструкцию подходящую под версию вашего PHP.

Для 5 нужно добавить следующее:

<IfModule mod_php5.c> 
php_flag opcache.enable Off 
</IfModule>

Для 7 нужно добавить следующее:

<IfModule mod_php7.c>
php_flag opcache.enable Off
</IfModule>

Nginx

Откройте ваш Nginx конфиг, в область локации с php

location ~ \.php$ {
    ...

}

Добавьте следующее:

fastcgi_param PHP_VALUE "opcache.enable=\"off\"";

После этого вам нужно перезагрузить Nginx:

sudo service nginx restart

Еще вариант:

Кроме этого вы можете напрямую зайти в php.ini вашего PHP и там установить этот параметр как off.

И еще…

Проверьте, чтобы в wp-config.php константа WP_DEBUG была false. Боевой сайт всегда должен быть false, так как true выводит подобные сообщения прямо на страницах сайта и подгружает дополнительные скрипты и т.д., что затормаживает работу сайта.