Coding & Development

BYU Domains is not intended to be a server for learning system administration, installing packages, or other more complex skill. Rather, our main goal is to teach accessible technical skills necessary to build a site and create an identity and accessible skills that anyone, including non-coders can learn. To learn more see the video below.

However, this page provides links to documentation explaining some of the coding practices used in cPanel and basic information about BYU Domains' supported systems and programming languages. The code for cPanel is managed by BYU, and can't be edited without affecting the cPanel interface for all BYU Domains users. You can, however, use the File Manager application on cPanel to access and edit the code that makes up your personal website

General Information:

PHP Information:

PHP Memory Usage Sometimes, PHP processes take up too much space and cause memory limit problems in a shared space environment. The following is a code caching snippet that commonly causes high PHP memory usage. If you have data that is permanent or not subject to a minimum cache lifetime, unserialize it and return the cached data:

If
($cache->serialized)
Then
{
$cache->data = unserialize($cache->data);   
}
return $cache;
}

The current memory limit for PHP is 192 MB. Additional information about efficient PHP usage is found here: you can also use the “Select PHP Version” application on the cPanel dashboard, to choose which version of PHP you wish to use.


Supported Languages

BYU Domains is built on a LAMP platform. PHP is our primary supported language and of all our installed applications are opensource, PHP based apps.

Because this is a shared server, the processes running on the server affect everyone. This is why individual users do not have root access to the system; there is not sufficient isolation between users to allow any one user to install, run and package how they like. We carefully control what is installed on our servers to make this shared machine seem like many machines. Users wanting to install non-supported developer tools or stop Apache are required to have their own server. If you installed these tools without your own server, you would take down the LAMP environment everyone else is using.

Even though there are limitations to our server, there is still quite a bit that can be done with coding knowledge. To see if your preferred coding language/program can be run on our server, consult the chart below:

Supported Not Supported
MYSQL MongoDB
PHP Node
PERL MonoDB
Python Angular
Django Yoman
Drush Express

Alternate Options:

If you would like to use one of the above non-supported languages to program, you can either run your programs on a local host or use a system such as Amazon Web Services. AWS is online tool that allows you to store databases and other large amounts of content through a cloud service. BYU students can receive up to $100 of free credit when signing up for this service. To read more about the options BYU recommends when working with Amazon AWS, please click through to Managing Large Data.


Frequently Asked Questions about Coding and Development

Other (related) commonly asked questions:
Is there a way to get into the sudoers file so we can install applications? No
Is there a way to configure Apache as a normal user? No
Is there a way we can stop Apache so we can use port 80? No