如何在CentOS/RHEL 7/6上安装CakePHP 3.6

时间:2019-05-19 01:26:41  来源:igfitidea点击:

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