如何在Fedora 30/29/28上安装CakePHP 3.8
CakePHP是一个流行的用于web开发的PHP框架。
最近CakePHP发布了其最新版本3.8,对其进行了各种更改以提高速度和安全性。
本文将在Fedora 30/29/28/27/25系统上安装CakePHP 3.8(或最新版本)。
第1步-准备工作
首先,我们需要设置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应用程序
在Fedora系统上安装composer之后。
让我们使用下面的composer命令创建名为“ MyApp”的CakePHP应用程序。
composer create-project --prefer-dist cakephp/app MyApp
现在为项目文件设置适当的权限。
对于基于fedora的系统,Apache默认使用Apache作为用户。
因此,根据设置更改文件的所有权。
chown -R apache:apache MyApp chmod -R 755 MyApp chmod -R 777 MyApp/tmp
步骤4 -为CakePHP设置数据库
对于本文,我们使用MySQL作为数据库服务器。
首先使用以下命令创建一个MySQL数据库并创建。
mysql> CREATE DATABASE CakePHPDB; mysql> GRANT ALL ON CakePHPDB.* to 'dbuser'@'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>dbuser</orange>', 'password' => '<orange>_password_</orange>', 'database' => '<orange>CakePHPDB</orange>', 'encoding' => 'utf8', 'timezone' => 'UTC', 'cacheMetadata' => true,
在这里,我们有两个选项来运行CakePHP应用程序。
对于开发环境遵循步骤5(A),对于生产部署环境,遵循步骤5(B)。
步骤5(A) -在开发环境上部署CakePHP
首先是使用其用于开发目的的内置web服务器进行安装。
这将使应用程序可以在http://host:port上使用。
在app目录中,执行:
bin/cake server
默认情况下,在没有提供任何参数的情况下,这将在端口8765上为应用程序提供服务。
我们还可以像下面这样指定我们自己的主机和端口
bin/cake server -H 192.168.10.123 -p 1234
这将在http://192.168.10.123:1234/
上为应用程序提供服务。
步骤5(B) -在生产环境上部署CakePHP
第二种是使用Apache等外部web服务器进行部署,这是生产使用的首选。
让我们使用以下内容创建一个Apache VirtualHost配置文件。
sudo vi /etc/httpd/conf.d/cakephp.conf
文件内容:/etc/httpd/conf.d/cakephp.conf
<VirtualHost *:80> ServerAdmin Hyman@theitroad ServerName cakephp.example.com DocumentRoot /var/www/html/MyApp/webroot <Directory /var/www/html/MyApp> Allowoverride All </Directory> </VirtualHost>
根据设置更改ServerName和文档根目录。
然后重启Apache服务
sudo systemctl restart httpd
现在在web浏览器中访问CakePHP应用程序。
http://cakephp.example.com