Stable version of cake3 is released for use. Old way of downloading cake and placing it in root directory and making changes to it, to get the app working won't work anymore. We have to install cakephp using composer. I tried installing it on my machine and felt like sharing the steps that I followed to install. So, here it goes
Following are the requirements for installing cakephp3 :
1. HTTP Server like Apache
2. PHP version greater than or equal to 5.4.16
3. mbstring extension
4. intl extension
5. Composer, without which you cannot install cakephp3
Installing Requirements
Go to Terminal,
Install apache and php >= 5.4.16.
Install mbstring extension using the following command :
sudo apt-get install libapache2-mod-php5
Install intl extension using the following command :
sudo apt-get install php5-intl
Now restart apache using the command :
service apache2 restart
Install Composer :
Once all Apache,PHP, mbstring and intl extension are installed. Next step is to install composer.
Go to your root directory( /var/www/ in ubuntu ) cd /var/www
If you have curl installed you can use command curl -s https://getcomposer.org/installer | php
else you can use command php -r "readfile('https://getcomposer.org/installer');" | php
to install composer.
Note, commands above will install composer only in the directory where you ran the command.
Now we are ready to install cakephp3
Go to document root directory( /var/www/ in ubuntu ) cd /var/www
Now type the command below :
php composer.phar create-project --prefer-dist cakephp/app [app_name]
Your cakephp3 application will now be running.
Connecting to database :
In cakephp3 we give database connection parameters in app.php in folder <app-name>/config
Go to <app-name>/config/app.php and change the requires parameters mentioned below
'Datasources' => [
'default' => [
Type http://localhost/app_name in browser to see your cakephp3 app.
Issues that you might face when you type command
php composer.phar create-project --prefer-dist cakephp/app [app_name]
1. Could not open input file: composer.phar
This means you haven't installed composer globally, and your composer installation was directory specific. Go to the directory where you have installed the composer and issue the above command.
2. This package requires php >=5.4.16 but your PHP version does not satisfy that requirement.
You will get this error when you are trying to install cakephp3 on php version lesser than 5.4.16.
PHP version of your machine has to be upgraded to version 5.4.16 or greater.
Note : Restart apache after the upgrade.
3. cakephp/cakephp 3.0.x-<dev/beta/alpha/RC> requires ext-intl * -> the requested PHP extension intl is missing from your system.
This means intl extension for php was not installed. You need to install intl extension as mentioned above, using the command sudo apt-get install php5-intl .
Note : Restart apache after installing.
Issues that you might face after installing
1. Database driver Cake\Database\Driver\Mysql cannot be used due to a missing PHP
extension or unmet dependency
The above error will be displayed on browser, if Mysql database driver couldn't be used by app or
is missing. Type the following command in terminal :
sudo apt-get install php5-mysql
Now restart mysql using command service mysql restart then restart Apache using command
service apache2 restart
Refresh the browser now, the above error would have disappeared.
Following are the requirements for installing cakephp3 :
1. HTTP Server like Apache
2. PHP version greater than or equal to 5.4.16
3. mbstring extension
4. intl extension
5. Composer, without which you cannot install cakephp3
Installing Requirements
Go to Terminal,
Install apache and php >= 5.4.16.
Install mbstring extension using the following command :
sudo apt-get install libapache2-mod-php5
Install intl extension using the following command :
sudo apt-get install php5-intl
Now restart apache using the command :
service apache2 restart
Install Composer :
Once all Apache,PHP, mbstring and intl extension are installed. Next step is to install composer.
Go to your root directory( /var/www/ in ubuntu ) cd /var/www
If you have curl installed you can use command curl -s https://getcomposer.org/installer | php
else you can use command php -r "readfile('https://getcomposer.org/installer');" | php
to install composer.
Note, commands above will install composer only in the directory where you ran the command.
Now we are ready to install cakephp3
Go to document root directory( /var/www/ in ubuntu ) cd /var/www
Now type the command below :
php composer.phar create-project --prefer-dist cakephp/app [app_name]
Your cakephp3 application will now be running.
Connecting to database :
In cakephp3 we give database connection parameters in app.php in folder <app-name>/config
Go to <app-name>/config/app.php and change the requires parameters mentioned below
'Datasources' => [
'default' => [
'username' => '<give your db username here>',
'password' => '<give your db passwoprd here>',
'database' => '<give your db name here>',
Issues that you might face when you type command
php composer.phar create-project --prefer-dist cakephp/app [app_name]
1. Could not open input file: composer.phar
This means you haven't installed composer globally, and your composer installation was directory specific. Go to the directory where you have installed the composer and issue the above command.
2. This package requires php >=5.4.16 but your PHP version does not satisfy that requirement.
You will get this error when you are trying to install cakephp3 on php version lesser than 5.4.16.
PHP version of your machine has to be upgraded to version 5.4.16 or greater.
Note : Restart apache after the upgrade.
3. cakephp/cakephp 3.0.x-<dev/beta/alpha/RC> requires ext-intl * -> the requested PHP extension intl is missing from your system.
This means intl extension for php was not installed. You need to install intl extension as mentioned above, using the command sudo apt-get install php5-intl .
Note : Restart apache after installing.
Issues that you might face after installing
1. Database driver Cake\Database\Driver\Mysql cannot be used due to a missing PHP
extension or unmet dependency
The above error will be displayed on browser, if Mysql database driver couldn't be used by app or
is missing. Type the following command in terminal :
sudo apt-get install php5-mysql
Now restart mysql using command service mysql restart then restart Apache using command
service apache2 restart
Refresh the browser now, the above error would have disappeared.