Installation problem - proc_open()

During the installation of Omeka Classic I get the error Fatal error: ‘Uncaught Error: Call to undefined function proc_open() in’. How to resolve it? The solution from Installing without proc_open/on shared hosting · Legacy Forums · Omeka website does not work. Many thanks in advance for your help.

Regards
Adam

This is probably a problem specific to a combination of your server disabling that function and being on a relatively new version of PHP. Those things in combination result in some errors like this that didn’t happen with previous versions.

We fixed this in several places, but didn’t reach the installer, it looks like.

Dear John,

thank you very much for your response. How do you think installing on an older version of PHP will solve the problem? For example, from 7.2 to 8.

Regards
Adam

PHP 7 versions shouldn’t have this same problem, so that’s a possible solution.

We’ll also fix the installer to not have this problem, but I don’t have a nailed-down date on when you could expect a release with that fixed.

Dear John,

changing the php version to 7 has solved the problem. Thanks a lot for your assistance.

Regards
Adam

Hi. I have the same problem, but I can’t change to PHP 7.x. My host don’t give me that option because is a not supported version anymore. How can I install Omeka in 8.x?

Full version of error is:

Fatal error: Uncaught Error: Call to undefined function proc_open() in /home/c2630283/public_html/digestomc/digesto/application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php:204 Stack trace: #0 /home/c2630283/public_html/digestomc/digesto/application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php(186): Omeka_File_Derivative_Strategy_ExternalImageMagick::executeCommand('which convert', NULL, NULL, NULL) #1 /home/c2630283/public_html/digestomc/digesto/install/controllers/IndexController.php(58): Omeka_File_Derivative_Strategy_ExternalImageMagick::getDefaultImageMagickDir() #2 /home/c2630283/public_html/digestomc/digesto/application/libraries/Zend/Controller/Action.php(516): IndexController->indexAction() #3 /home/c2630283/public_html/digestomc/digesto/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('indexAction') #4 /home/c2630283/public_html/digestomc/digesto/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #5 /home/c2630283/public_html/digestomc/digesto/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(106): Zend_Controller_Front->dispatch() #6 /home/c2630283/public_html/digestomc/digesto/application/libraries/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run() #7 /home/c2630283/public_html/digestomc/digesto/install/install.php(48): Zend_Application->run() #8 {main} thrown in /home/c2630283/public_html/digestomc/digesto/application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php on line 204

Hi @jflatnes . I have the same problem, but I can’t change to PHP 7.x. My host don’t give me that option because is a not supported version anymore. How can I install Omeka in 8.x?

We’ve made the necessary change that fixes this, we just haven’t made a release yet that contains that change.

You could make the edit there yourself if you need to in the meantime, changing line 204 of the file application/libraries/Omeka/File/Derivative/Strategy/ExternalImageMagick.php from

if ($proc = proc_open($cmd, $descriptorSpec, $pipes, getcwd())) {

to

if (function_exists('proc_open') && $proc = proc_open($cmd, $descriptorSpec, $pipes, getcwd())) {

Thx very much! I will try that