Сначала при установке одного модуля получил
In Process.php line 146:
The Process class relies on proc_open, which is not available on your PHP installation.
The Process class relies on proc_open, which is not available on your PHP installation.
Потом при патче другого модуля получил похожее предупреждение.
Что делать? Drupal 9, PHP 8.1.
Комментарии
я уже отвечал в другой теме.
1. включить proc_open в админке или в ини файле пхп
2. обратиться в техподдержку.
3. поменять хостинг.
можно сразу пункт 3
Если поменять настройки PHP на хостинге невозможно, то можно запускать composer вот таким хитровывернутым методом:
php -d "disable_functions=" /path/to/composer [команды composer]
Но это, конечно, костыль.
/etc/php81/etc/php.ini
Убрал
disable_functions = ...proc_open...
Теперь при вызове Композера пишет ошибку:
Stack trace:
#0 phar:///usr/local/bin/composer/vendor/symfony/process/Process.php(367): Symfony\Component\Process\Process->updateStatus()
#1 phar:///usr/local/bin/composer/vendor/symfony/process/Process.php(252): Symfony\Component\Process\Process->start()
#2 phar:///usr/local/bin/composer/src/Composer/Util/ProcessExecutor.php(128): Symfony\Component\Process\Process->run()
#3 phar:///usr/local/bin/composer/src/Composer/Util/ProcessExecutor.php(74): Composer\Util\ProcessExecutor->doExecute()
#4 phar:///usr/local/bin/composer/src/Composer/Package/Version/VersionGuesser.php(142): Composer\Util\ProcessExecutor->execute()
#5 phar:///usr/local/bin/composer/src/Composer/Package/Version/VersionGuesser.php(77): Composer\Package\Version\VersionGuesser->guessGitVersion()
#6 phar:///usr/local/bin/composer/src/Composer/Package/Loader/RootPackageLoader.php(89): Composer\Package\Version\VersionGuesser->guessVersion()
#7 phar:///usr/local/bin/composer/src/Composer/Factory.php(381): Composer\Package\Loader\RootPackageLoader->load()
#8 phar:///usr/local/bin/composer/src/Composer/Factory.php(630): Composer\Factory->createComposer()
#9 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(470): Composer\Factory::create()
#10 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(594): Composer\Console\Application->getComposer()
#11 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(212): Composer\Console\Application->getPluginCommands()
#12 phar:///usr/local/bin/composer/vendor/symfony/console/Application.php(171): Composer\Console\Application->doRun()
#13 phar:///usr/local/bin/composer/src/Composer/Console/Application.php(130): Symfony\Component\Console\Application->run()
#14 phar:///usr/local/bin/composer/bin/composer(88): Composer\Console\Application->run()
#15 /usr/local/bin/composer(29): require('...')
#16 {main}
thrown in phar:///usr/local/bin/composer/vendor/symfony/process/Process.php on line 1345
You probably need a host that supports proc_get_status().
https://www.drupal.org/project/fillpdf/issues/3317247
Удалил в php.ini:
disable_functions = ...proc_get_status...
Вроде это работает. Спасибо Юрий.