如何在CentOS/RHEL 7/6上安装CakePHP 3.6
CakePHP是最流行的PHP框架,用于更快的网站开发。
最近CakePHP发布了最新的3.6版本,对其进行了一系列改进,以提高速度和安全性。
本文将在CentOS/RHEL 7/6系统上安装CakePHP 3.6(或最新版本)。
步骤1 -安装LAMP
首先,我们需要设置LAMP环境以便在Red Hat系统上安装CakePHP。
我们假设系统上已经安装了PHP、MySQL和Apache。
步骤2 -安装Composer
现在CakePHP使用composer管理依赖关系。
因此,首先我们需要在系统上使用以下命令安装Composer。
如果已经安装,就更新到最新版本。
安装Composer:
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer chmod +x /usr/local/bin/composer
更新Composer:
composer self-update
步骤3 -创建CakePHP 3应用程序
在系统上安装composer之后。
使用下面的composer命令创建一个名为“ MyApp”的CakePHP应用程序。
composer create-project --prefer-dist cakephp/app MyApp
现在为项目文件设置适当的权限。
对于基于红帽的系统,Apache默认使用Apache作为用户。
因此,根据设置更改文件的所有权。
chown -R apache:apache MyApp chmod -R 755 MyApp chmod -R 777 MyApp/tmp
步骤4 -为CakePHP设置数据库
对于本文,我们使用MySQL作为数据库服务器。
首先使用以下命令创建一个MySQL数据库并创建。
mysql> CREATE DATABASE mydb; mysql> GRANT ALL ON mydb.* to 'myuser'@'localhost' IDENTIFIED BY '_password_'; mysql> FLUSH PRIVILEGES; mysql> quit
现在编辑 config/app.php配置文件并搜索数据库设置。
'Datasources' => [ 'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\DatabaseDriver\Mysql', 'persistent' => false, 'host' => '<orange>localhost</orange>', //'port' => 'nonstandard_port_number', 'username' => '<orange>myuser</orange>', 'password' => '<orange>_password_</orange>', 'database' => '<orange>mydb</orange>', 'encoding' => 'utf8', 'timezone' => 'UTC', 'cacheMetadata' => true,
在这里,我们有两个选项来运行CakePHP应用程序。
开发环境遵循步骤5(A),生产环境部署遵循步骤5(B)。
步骤5(A) -在开发环境上部署CakePHP
首先是使用其用于开发目的的内置web服务器进行安装。
这将使应用程序可以在http://host:port
上使用。
在app目录中,执行:
bin/cake server
默认情况下,在没有提供任何参数的情况下,这将在http://localhost:8765/
上为应用程序提供服务。
我们还可以像下面这样指定我们自己的主机和端口
bin/cake server -H 192.168.10.123 -p 1234
这将在http://192.168.10.123:1234/
上为应用程序提供服务。
步骤5(B) -在生产系统上部署CakePHP
第二种是使用Apache等外部web服务器进行部署,这是生产使用的首选。
让我们使用以下内容创建一个Apache VirtualHost配置文件。
<VirtualHost *:80> ServerAdmin Hyman@theitroad ServerName cakephp.theitroad.com DocumentRoot /var/www/html/MyApp/webroot <Directory /var/www/html/MyApp> Allowoverride All </Directory> </VirtualHost>
根据设置更改ServerName和文档根目录。
之后,重新加载Apache服务并访问CakePHP,如http://cakephp.example.com
。