<p>Don't try to work around server limitations on shared hosting, it's rarely worth it. It's just a huge time-sink, and any solutions you find will come with caveats and other problems attached. <a href="https://craftcms.com/docs/4.x/requirements.html#optional-php-methods-and-configurations" rel="nofollow noreferrer">Craft's requirements</a> explicitly mention that the <code>proc_*</code> methods must not be disabled. When evaluating hosting options, make sure that any provider you go with checks all the boxes.</p>
<blockquote>
<p>The site is located on a shared server and, after contacting the hosts, they have informed me that to enable proc_open I will need to upgrade to a VPS, a cost that I unfortunately cannot bear.</p>
</blockquote>
<p>Hetzner and Digital Ocean have VPS products that start at around 4~5 € a month. How much are you paying for shared hosting? I can't imagine it's substantially less. Even if you end up paying a couple of bucks more a month, you still need to compare that to the time investment of trying to get Craft to run on bad hosting. Even if you're working on a hobby project and not writing a bill to a client, your time still has value. If it takes you a working day to work around the hosting issues, you could've run a VPS for a couple of years with the opportunity cost, even if you only value your time at minimum wage.</p>
<blockquote>
<p>Is the 'backupOnUpdate' =&gt; false, correct and is it in the correct file (general.php)?</p>
</blockquote>
<p>If you want to disable backups, yes. But I wouldn't do that, because you won't have a safety net if something goes wrong during an update.</p>
<blockquote>
<p>I have placed the above line in the Global settings section of general.php, is that the correct section?</p>
</blockquote>
<p>Yes.</p>
<blockquote>
<p>Is there ANY way to run updates, admin GUI/CLI WITHOUT access to the proc_open function?</p>
</blockquote>
<p>You can try updating using <a href="https://craftcms.com/docs/4.x/console-commands.html#update" rel="nofollow noreferrer">console commands</a>, the <code>update</code> command will ask whether to create a database backup before updating. Though I'm not sure if Craft also needs the <code>proc_*</code> functions for the updates itself.</p>
<p>If that doesn't work, you can also run the updates in a local development environment, then upload all the changed files (including the <code>composer.json</code>, <code>composer.lock</code> and the <code>vendor/</code> folder) to the server over SFTP. Then execute any pending migrations through the GUI. Make sure the local environment matches the production environment as closely as possible, in particular that it's running the same PHP version.</p>
<p>But again, this will cause problems down the line, I really don't recommend it.</p>

CC BY-SA 4.0
2023-09-13T09:32:35.150Z
Hey Moritz, thank you for the comprehensive reply. The host is a tad more expensive here in Australia (clients selection) - VPS at $155 per month compared to $56 for current. I do know with the business he's running the host HAS to be Australian based, but I'm still not sure why he selected such an expensive one... there are many around that are hugely cheaper, especially the VPS cost.
Marty
CC BY-SA 4.0
2023-09-13T09:54:47.083Z
@Marty At those prices, you can _definitely_ find a VPS that is both easier for you to manage and still cheaper. I'd give the client a generous estimation for the time it will take you to work around the hosting issues (both now and for future update), when they compare that cost to the (potential) additional hosting cost it's gonna be a short conversation :)
MoritzLost
CC BY-SA 4.0
2023-09-13T08:59:03.403Z
2023-09-13T08:59:03.403Z
MoritzLost
<p>I've recently managed to upgrade my Craft installation from 3.9.1 to 4.5.0. During the upgrade process I had a number of times where the update process from within the admin GUI 'failed' or at least presented me with an error message that included the lack of access to proc_open on my system. The site is located on a shared server and, after contacting the hosts, they have informed me that to enable proc_open I will need to upgrade to a VPS, a cost that I unfortunately cannot bear.</p>
<p>I have searched through the archive here and in other locations online and have found one reference to something that I thought would be of assistance, adding the line 'backupOnUpdate' =&gt; false, to my config/general.php file. Unfortunately when attempting to run a database backup from the admin GUI I get the following error in my web.log file: Call to undefined function mikehaertl\shellcommand\proc_open()</p>
<p>Couple of questions I would greatly appreciate any feedback on:</p>
<ol>
<li>Is the 'backupOnUpdate' =&gt; false, correct and is it in the correct file (general.php)?</li>
<li>I have placed the above line in the Global settings section of general.php, is that the correct section?</li>
<li>Is there ANY way to run updates, admin GUI/CLI WITHOUT access to the proc_open function?</li>
</ol>
<p>Thank you in advance for any feedback/answers you can give me</p>

<craft4>
Craft CMS 4: Update without proc_open
# Craft CMS 4: Update without proc_open

(Asked by: username_0 on 2023-09-13)

I've recently managed to upgrade my Craft installation from 3.9.1 to 4.5.0. During the upgrade process I had a number of times where the update process from within the admin GUI 'failed' or at least presented me with an error message that included the lack of access to proc\_open on my system. The site is located on a shared server and, after contacting the hosts, they have informed me that to enable proc\_open I will need to upgrade to a VPS, a cost that I unfortunately cannot bear.

I have searched through the archive here and in other locations online and have found one reference to something that I thought would be of assistance, adding the line 'backupOnUpdate' => false, to my config/general.php file. Unfortunately when attempting to run a database backup from the admin GUI I get the following error in my web.log file: Call to undefined function mikehaertl\shellcommand\proc\_open()

Couple of questions I would greatly appreciate any feedback on:

1. Is the 'backupOnUpdate' => false, correct and is it in the correct file (general.php)?
2. I have placed the above line in the Global settings section of general.php, is that the correct section?
3. Is there ANY way to run updates, admin GUI/CLI WITHOUT access to the proc\_open function?

Thank you in advance for any feedback/answers you can give me

**Tags:** craft4

---

## 1 answers

### Answer by username_1 on 2023-09-13. Score: 3

Don't try to work around server limitations on shared hosting, it's rarely worth it. It's just a huge time-sink, and any solutions you find will come with caveats and other problems attached. [Craft's requirements](https://craftcms.com/docs/4.x/requirements.html#optional-php-methods-and-configurations) explicitly mention that the `proc_*` methods must not be disabled. When evaluating hosting options, make sure that any provider you go with checks all the boxes.

> The site is located on a shared server and, after contacting the hosts, they have informed me that to enable proc\_open I will need to upgrade to a VPS, a cost that I unfortunately cannot bear.

Hetzner and Digital Ocean have VPS products that start at around 4~5 € a month. How much are you paying for shared hosting? I can't imagine it's substantially less. Even if you end up paying a couple of bucks more a month, you still need to compare that to the time investment of trying to get Craft to run on bad hosting. Even if you're working on a hobby project and not writing a bill to a client, your time still has value. If it takes you a working day to work around the hosting issues, you could've run a VPS for a couple of years with the opportunity cost, even if you only value your time at minimum wage.

> Is the 'backupOnUpdate' => false, correct and is it in the correct file (general.php)?

If you want to disable backups, yes. But I wouldn't do that, because you won't have a safety net if something goes wrong during an update.

> I have placed the above line in the Global settings section of general.php, is that the correct section?

Yes.

> Is there ANY way to run updates, admin GUI/CLI WITHOUT access to the proc\_open function?

You can try updating using [console commands](https://craftcms.com/docs/4.x/console-commands.html#update), the `update` command will ask whether to create a database backup before updating. Though I'm not sure if Craft also needs the `proc_*` functions for the updates itself.

If that doesn't work, you can also run the updates in a local development environment, then upload all the changed files (including the `composer.json`, `composer.lock` and the `vendor/` folder) to the server over SFTP. Then execute any pending migrations through the GUI. Make sure the local environment matches the production environment as closely as possible, in particular that it's running the same PHP version.

But again, this will cause problems down the line, I really don't recommend it.

> **Comments:**
> **username_0**: Hey Moritz, thank you for the comprehensive reply. The host is a tad more expensive here in Australia (clients selection) - VPS at $155 per month compared to $56 for current. I do know with the business he's running the host HAS to be Australian based, but I'm still not sure why he selected such an expensive one... there are many around that are hugely cheaper, especially the VPS cost.  
> **username_1**: @Marty At those prices, you can _definitely_ find a VPS that is both easier for you to manage and still cheaper. I'd give the client a generous estimation for the time it will take you to work around the hosting issues (both now and for future update), when they compare that cost to the (potential) additional hosting cost it's gonna be a short conversation :)  

---

