title: php7.4 opcache.preload - Errors on fpm start
body: <p>I'm upgrading to php7.4 and want to take advantage of the new opcache preloading.</p>
  
  <p>When I <code>service php7.4-fpm start</code> I get the following errors:</p>
  
  <pre><code>NOTICE: PHP message: PHP Warning:  PHP Startup: failed to open stream: Permission denied in Unknown on line 0
  NOTICE: PHP message: PHP Fatal error:  PHP Startup: Failed opening required '/mnt/a/b/c/opcachePreload.php' (include_path='.:/usr/share/php:/mnt/a/b/c:/mnt/a/b/d') in Unknown on line 0
  php7.4-fpm.service: Main process exited, code=exited, status=70/n/a
  Failed to start The PHP 7.4 FastCGI Process Manager.
  </code></pre>
  
  <p>My <code>fpm/php.ini</code> includes the following opcache settings:</p>
  
  <pre><code>include_path              = ".:/usr/share/php:/mnt/a/b/c"
  
  opcache.save_comments           = 1
  opcache.max_accelerated_files   = 7963
  opcache.interned_strings_buffer = 16
  opcache.fast_shutdown           = 1
  opcache.revalidate_freq         = 0
  
  opcache.validate_timestamps     = 0
  opcache.memory_consumption      = 128
  opcache.preload                 = /mnt/a/b/c/opcachePreload.php
  opcache.preload_user            = www-data
  </code></pre>
  
  <p>I've tried having the <code>opcachePreload.php</code> contain only <code>&lt;?php</code> and the error still happened, normally it contains something like this, with a couple of absolute paths in the array:</p>
  
  <pre><code>&lt;?php
  declare(strict_types=1);
  
  $scriptsArr = [
      'path',
      'path',
  ];
  foreach ($scriptsArr as $fileStr) {
      opcache_compile_file($fileStr);
  }
  </code></pre>
  
  <p>I've tried a range of different levels of file-permissions on it (0600, 0700, 0770, 0777, owned by root), currently <code>ls -l /mnt/a/b/c/opcachePreload.php</code> shows:</p>
  
  <pre><code>-rwxrwxrwx 1 www-data www-data 336 Dec 26 15:11 /mnt/a/b/c/opcachePreload.php
  
  </code></pre>
  
  <p>Is it a file-permission problem, or a conflict in the configurations, or a php7.4 bug, or something else?</p>
  
  <p>Is the <code>opcache.preload</code> interpreted as some sort of relative path instead of absolute? (I've tried <code>opcache.preload = ./opcachePreload.php</code>)</p>
  
  <p>What else can I try?</p>