Ubuntu 18.04 LTS: Setting up a symfony 4 skeleton project 1
Recently we decided to give it a go with Symfony PHP framework
on an Ubuntu 18.04 LTS
. Below you will find the commands we executed to install the skeleton project of symfony
with some comments.
Composer
To install symfony
, you need composer which is a dependency manager for PHP
. The version of composer
that was available in apt
when this post was written was “very” old. Specifically, it had version Composer 1.6.3 2018-01-31 16:28:17
. For this reason we decided to go with the version that is available in the official website of composer
. The steps we followed were the ones below:
# Update our system sudo apt update -y; sudo apt upgrade -y; # Install dependencies sudo apt install curl php-cli php-mbstring git unzip php-xml -y; # Get composer installer from the official site curl -sS https://getcomposer.org/installer -o composer-setup.php; # Verify the the download was not corrupt by checking the sha384 sum of the installer file HASH=`curl https://composer.github.io/installer.sha384sum | cut -d' ' -f 1`; # If this step fails, go back to the curl command and try again, it would mean that there was a problem when downloading the installer from the net php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" # Upon successfully validating the install, we can proceed to the actual installation. sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer; source ~/.bashrc;
Symfony Skeleton Project
After the above steps are completed, we were able to proceed with the final step, which would be to create the symfony
skeleton project via the composer with the following command in the folder named sandbox
:
composer create-project symfony/skeleton sandbox '4.4.*';
To verify the installation of the skeleton project we started a web server with PHP in the installation folder of the project and thus verify it through the browser:
cd sandbox; # We did not use the port 80 as it would require root access to start php -S 127.0.0.1:8000 -t public;
From a browser visiting http://127.0.0.1:8000/
we got to see: