本文目录导读:

- Composer(最常用)
- Docker 容器中的 PHP
- 启动 PHP 内置服务器(开发环境)
- 运行 PHP-FPM
- 依赖注入容器示例
- 使用 PHP 包管理器工具
- 环境变量和配置
- 完整启动示例
- 使用 Supervisor 管理
在 PHP 中启动依赖管理通常指以下几种情况,我将分别说明:
Composer(最常用)
首次安装依赖
# 在项目根目录执行 composer install
安装新依赖
# 安装到生产环境 composer require vendor/package # 安装到开发环境 composer require --dev vendor/package
更新依赖
# 更新所有依赖 composer update # 更新特定包 composer update vendor/package
Docker 容器中的 PHP
Dockerfile 示例
FROM php:8.2-fpm
# 安装系统依赖
RUN apt-get update && apt-get install -y \
git \
unzip \
libpq-dev \
&& docker-php-ext-install pdo pdo_mysql
# 安装 Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# 复制项目文件
COPY . /var/www/html
# 安装 PHP 依赖
RUN composer install --no-dev --optimize-autoloader
启动 PHP 内置服务器(开发环境)
# 启动内置服务器 php -S localhost:8000 # 指定路由文件启动 php -S localhost:8000 router.php # 指定文档根目录 php -S localhost:8000 -t public
运行 PHP-FPM
# 启动 PHP-FPM php-fpm # 指定配置文件 php-fpm -c /path/to/php.ini # 前台运行 php-fpm -F
依赖注入容器示例
<?php
// 简单的依赖注入容器
class Container {
private $services = [];
private $instances = [];
public function set($name, $callable) {
$this->services[$name] = $callable;
}
public function get($name) {
if (!isset($this->instances[$name])) {
$this->instances[$name] = $this->services[$name]($this);
}
return $this->instances[$name];
}
}
// 注册服务
$container = new Container();
$container->set('db', function($c) {
return new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');
});
// 获取服务
$db = $container->get('db');
使用 PHP 包管理器工具
使用 Box(PHAR 构建工具)
# 安装 Box composer global require humbug/box # 构建 PHAR 文件 box build # 运行 PHAR 文件 php my-app.phar
使用 Composer 脚本
{
"scripts": {
"start": "php -S localhost:8000 -t public",
"dev": "php artisan serve",
"test": "phpunit"
}
}
运行方式:
composer start composer dev composer test
环境变量和配置
<?php // 加载 .env 文件 require_once __DIR__ . '/vendor/autoload.php'; use Dotenv\Dotenv; $dotenv = Dotenv::createImmutable(__DIR__); $dotenv->load(); // 使用环境变量 $database_host = $_ENV['DB_HOST']; $database_password = $_ENV['DB_PASSWORD'];
完整启动示例
#!/bin/bash # start.sh - 项目启动脚本 # 1. 安装依赖 composer install # 2. 生成应用密钥(Laravel) php artisan key:generate # 3. 运行数据库迁移 php artisan migrate # 4. 启动开发服务器 php artisan serve # 或者 php -S localhost:8000 -t public
使用 Supervisor 管理
# /etc/supervisor/conf.d/php-worker.conf [program:php-worker] command=php /path/to/worker.php autostart=true autorestart=true startsecs=0 user=www-data
启动命令:
supervisorctl start php-worker
选择哪种方式取决于你的具体使用场景,最常见的是使用 Composer 管理 PHP 包依赖,使用 Docker 管理运行时环境。