Make global PHP changes on a Dedicated server


Every installation of PHP comes with default settings which are usually fine for most websites. Occasionally, the needs of a website makes it necessary to adjust these PHP settings. For example, your site may need to upload files larger than the current PHP upload limit allows. In that case, you would need to create a php.ini (phprc) file and update this value. If you have a Dedicated Server it’s possible to set a single phprc file for the entire server, rather than set them up individually for each site.

How to enable global changes

The following describes how to enable global PHP changes on your Dedicated server. You can also set them on a per-user basis using a phprc file. See the php.ini overview article for more information.

If you intend on making Global changes to your PHP configuration, you must UN-check the DreamHost Managed checkbox in your panel. Otherwise, your custom settings will be overwritten by the server next time a config is run.

Navigate to the Dedicated Servers Dashboard page. To the right of the server click the Configure button. On the next page, UN-check DreamHost Managed. Finally, click Save ds#### settings... at the bottom to save.

If you have a custom phprc file set up under your user, it will override the global php.ini file for that specific user, for the version of PHP for which the custom phprc file was created.

  1. Log into your server via SSH, using your admin user. You can create an admin user at Dedicated Admin Users.
  2. Once you log into your server, navigate to the directory for the version of PHP you wish to edit:
    For PHP 8.1
    [server]$ cd /etc/php81
    For PHP 8.2
    [server]$ cd /etc/php82
    For PHP 8.3
    [server]$ cd /etc/php83
    Once you are in that directory, you’ll see the php.ini file.
  3. Run the following command to edit it:
    [server]$ sudo nano php.ini
  4. When finished editing, close the file and return to your shell.
  5. Kill off any PHP processes to update the file.

Once you finish, the global php.ini is now used for all sites on your server which do not have a custom phprc file enabled.

If your server is running NGINX, you must stop NGINX before killing PHP, then restart it. The following commands can only be run on a Dedicated Server with an admin user.

To stop/kill/restart NGINX:

[server]$ sudo /etc/init.d/nginx stop
[server]$ pkill -9 php
[server]$ sudo /etc/init.d/nginx start

Loading PHP extensions on all domains (on VPS or Dedicated)

On a DreamHost VPS or Dedicated Server, you can find the directory at /etc/php#/conf.d/ (just make sure to change the php# folder to the actual version you’re updating). Any files in this directory are loaded by all PHP interpreters for this version of PHP.

See also

Did this article answer your questions?

Article last updated PST.

Still not finding what you're looking for?