Allowed & Disabled Functions & Commands
Matthew Gabriel
Last Update één jaar geleden
Our hosting environments are designed to provide the best WordPress experience possible, so many of the workarounds members may have employed with other hosts are completely unnecessary and are automatically filtered or disabled.
For example, some wp-config.php modifications actually conflict with our system and will adversely affect both member sites and our hosting environments.
These include cron jobs and modifications to the WordPress file system or memory limitations.
This document aims to be your go-to reference for any disallowed functions, commands & constants in the WPMU DEV hosting environment.
wp-config.php Constants Protection
Cron Jobs
To ensure your scheduled tasks run on time, every time, WPMU DEV hosting environments utilize server-side crons (crontab), by default, and call the WordPress scheduling system via WP-CLI every 5 minutes – eliminating the need for alternative cron usage or external services.
See our System Cron & Custom Cron Jobs document for alternatives if needed.
File System
Our hosting environments leverage the default WordPress file system to achieve a sustainable balance between performance, security and stability. We understand that members may have been compelled to modify the file system to compensate for the shortcomings of other hosts, but those modifications are not necessary with WPMU DEV hosting and can cause significant issues server-side.
Therefore, we do not allow certain modifications, and any changes to the following constants in the wp-config.php file will be removed automatically:
WP_MEMORY_LIMIT (See Memory Limits below.)
WP_MAX_MEMORY_LIMIT
WP_CONTENT_DIR
WP_CONTENT_URL
WP_ENVIRONMENT_TYPE
WP_CACHE_KEY_SALT
SET_TIME_LIMIT
MAX_EXECUTION_TIME
FS_CHMOD_DIR
FS_CHMOD_FILE
FS_METHOD
FTP_CONTENT_DIR
FTP_PLUGIN_DIR
FTP_BASE
FTP_PUBKEY
FTP_PRIKEY
FTP_USER
FTP_PASS
FTP_HOST
FTP_SSL
Memory Limits
WordPress Memory limits are preset on WPMU DEV hosting, and cannot be altered. Memory limits for each WPMU DEV hosting plan are as follows:
Quantum – 128MB
Bronze and Silver – 256MB
Gold and Platinum – 512MB
Uranium and Titanium – 756MB
Palladium, Rhodium and Iridium – 1024MB
Post Revisions
Did you know that WordPress has a revision feature that lets you revert posts and pages back to older versions in the event you make a mistake? Though helpful, this feature can expand your website’s database size, eventually leading to bloating.
For this reason, on WPMU Dev, WordPress revisions are set to a maximum of 5.
Thankfully, you can always increase the number of allowable revisions on your website.
To do so, you will need to access and edit your website’s wp-config.php file via SFTP, or through the File Manager.
Once there, locate the line which includes this code define( 'WP_POST_REVISIONS', 5 );
Then replace “5” with “true” so as to have code that looks like this:
define( 'WP_POST_REVISIONS', true );
Don’t forget to save the changes you just made before exiting. Now, you can start enjoying unlimited revisions on your posts and pages.
Plugin & Theme File Editors
A default WordPress installation includes plugin and theme file editors in the wp-admin. These tools enable any user with the administrator role to directly edit the code of any installed theme or plugin on your site.
These editing tools are disabled on all sites hosted with us to help minimize security risks. However, if you prefer to have them enabled in your wp-admin, you can edit your site’s wp-config.php file and remove this constant, or change the value to false:
define( 'DISALLOW_FILE_EDIT', true );
Note that if you have Defender installed on your site, you don’t even need to edit the wp-config.php file. Simply go to Defender > Recommendations, and ensure the Disable the file editor recommendation is not actioned.
Allowed SSH Commands
Here is a list of all of the SSH commands we allow:
- awk
- basename
- bunzip2
- bzip2
- cat
- cd
- clear
- col
- colrm
- column
- composer
- cp
- curl
- cut
- date
- du
- echo
- egrep
- expand
- fgrep
- fmt
- fold
- gettext
- git
- git-receive-pack
- git-shell
- git-upload-archive
- git-upload-pack
- grep
- gunzip
- gzip
- head
- help
- iconv
- join
- less
- ll
- ln
- look
- ls
- mkdir
- more
- mv
- mysql
- mysqldump
- nano
- nl
- npm
- pager
- paste
- perl
- php
- pr
- rm
- rsync
- scp
- sed
- sort
- tail
- tar
- touch
- tsort
- uname
- unexpand
- uniq
- unzip
- vi
- vim
- wc
- wget
- wp
- zcat
- zgrep
- zip
Disabled functions - php.ini
Below you will find a list of disabled functions on our hosting.
- exec
- shell_exec
- passthru
- system
- proc_open
- popen
- show_source
- posix_kill
- posix_mkfifo
- posix_setpgid
- posix_setsid
- posix_setuid
- posix_getpwuid
- posix_uname
- pclose
- dl
- disk_free_space
- diskfreespace
- disk_total_space
- proc_close
- proc_get_status
- proc_nice
- proc_terminate
- symlink
- link
- escapeshellarg
- escapeshellcmd
- highlight_file
- lchgrp
- lchown
- prog_get_status
- getmypid
- getmyuid
- getmygid
- getrusage
- getmyinode
- get_current_user
- libxml_disable_entity_loader
- pcntl_alarm
- pcntl_fork
- pcntl_waitpid
- pcntl_wait
- pcntl_wifexited
- pcntl_wifstopped
- pcntl_wifsignaled
- pcntl_wifcontinued
- pcntl_wexitstatus
- pcntl_wtermsig
- pcntl_wstopsig
- pcntl_signal
- pcntl_signal_dispatch
- pcntl_get_last_error
- pcntl_strerror
- pcntl_sigprocmask
- pcntl_sigwaitinfo
- pcntl_sigtimedwait
- pcntl_exec
- pcntl_getpriority
- pcntl_setpriority
- putenv
- opcache_get_configuration
- opcache_get_status
Disabled functions - PHP CLI
Below you will find a list of disabled functions on our hosting.
- shell_exec
- passthru
- system
- show_source
- posix_kill
- posix_mkfifo
- posix_setpgid
- posix_setsid
- posix_setuid
- posix_getpwuid
- posix_uname
- pclose
- dl
- disk_free_space
- diskfreespace
- disk_total_space
- proc_get_status
- proc_nice
- proc_terminate
- symlink
- link
- escapeshellcmd
- highlight_file
- lchgrp
- lchown
- prog_get_status
- getmypid
- getmyuid
- getmygid
- getrusage
- getmyinode
- libxml_disable_entity_loader
- pcntl_alarm
- pcntl_fork
- pcntl_waitpid
- pcntl_wait
- pcntl_wifexited
- pcntl_wifstopped
- pcntl_wifsignaled
- pcntl_wifcontinued
- pcntl_wexitstatus
- pcntl_wtermsig
- pcntl_wstopsig
- pcntl_signal
- pcntl_signal_dispatch
- pcntl_get_last_error
- pcntl_strerror
- pcntl_sigprocmask
- pcntl_sigwaitinfo
- pcntl_sigtimedwait
- pcntl_exec
- pcntl_getpriority
- pcntl_setpriority
- opcache_get_configuration
- opcache_get_status
Modifying PHP with .user.ini
Ideally, you would not need to even consider modifying any variables in a .user.ini file, as our managed WordPress hosting & server architecture are optimized for best performance for WordPress installs.
However, WPMU DEV members can modify some php settings like max_input_vars with a .user.ini file if absolutely necessary. A .user.ini file is a simple text file you create and place within the WordPress root directory. It only impacts the PHP settings for the directory in which it exists and that folder’s sub-directories.
While some PHP settings can be modified within any system-wide limitations of our managed WordPress hosting, it’s important to note that they cannot circumvent or exceed those limitations. For example, the upload_max_filesize and/or post_max_size values can be adjusted, but cannot exceed the maximum of 128Mb established by the system-wide PHP settings.
Also, certain variables cannot be altered on our managed WordPress hosting:
- The memory_limit settings are fixed for each hosting plan as detailed in the wp-config.php Constants Protection chapter above.
- The max_execution_time is fixed at 300s for all hosting plans.
If you are uncertain if the PHP setting you wish to modify is allowed, contact support.