ksweb 中文文档 下载 App

KSWEB 上跑 Yii2 Laravel 等 PHP 框架 需要 Composer 和入口文件

和 CMS 有什么不同

WordPress / Joomla 这类 CMS 解压即跑,因为所有依赖都打包好了。Yii2、Laravel、Symfony 这些框架用 Composer 管理依赖,所以多一步 composer install。另外框架有独立的入口目录(Yii2 的 web/、Laravel 的 public/),Web 服务器要把站点根目录指向这个入口,不是项目根。

前提

Yii2 部署

方式一:Composer 创建项目(推荐)

在终端里进入 htdocs 后跑:

cd /storage/emulated/0/htdocs
composer create-project yiisoft/yii2-app-basic myapp

方式二:下载 Advanced Template 模板

从 GitHub 下载 yii2-app-advanced,解压到 htdocs,然后:

cd myapp
composer install
# 按提示运行 init 脚本初始化开发环境
php init --env=Development --overwrite=All

配置 Web 服务器入口

Yii2 的入口文件在 web/index.php,需要把 KSWEB 的站点根目录指向这个 web 目录,而不是项目根。在 KSWEB 服务器标签页里:

  1. 点击 HOSTS 或主配置里的 Document Root / Server Root
  2. 改成 /storage/emulated/0/htdocs/myapp/web
  3. 保存,重启服务器

浏览器访问 http://localhost:8080 就能看到 Yii2 的欢迎页。

数据库配置

Yii2 的数据库连接配置在 config/db.php,默认指向 MySQL 本地:

return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=myapp',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
];

在 phpMyAdmin 里先建好数据库 myapp,然后跑 ./yii migrate 初始化表结构。

Laravel 部署

Composer 创建

composer create-project laravel/laravel mylaravel

Web 服务器入口

Laravel 入口是 public/index.php,站点根目录指向 /storage/emulated/0/htdocs/mylaravel/public。

环境配置

Laravel 有个 .env 文件存数据库密码等环境变量,首次部署需要:

php artisan key:generate
# 然后编辑 .env 里的 DB_CONNECTION / DB_HOST / DB_DATABASE / DB_USERNAME / DB_PASSWORD

Laravel 还有 storage 和 bootstrap/cache 目录需要可写,Android 上一般没问题。

Symfony

Symfony 5+ 入口是 public/index.php,Composer 项目,PHP 7.2+。composer create-project symfony/website-skeleton 创建。

常见坑