如何将基于Stripe订阅的Composer项目部署到Apache生产环境?
部署Stripe固定价格订阅项目到Apache生产环境
1. 配置服务器基础环境
确保AWS服务器已安装以下组件:
- Apache HTTP Server
- PHP(版本需符合Slim框架要求,建议7.4及以上)
- Composer
- PHP扩展:
php-curl、php-json(Stripe SDK依赖)
以Ubuntu系统为例,执行以下命令安装:
sudo apt update sudo apt install apache2 php libapache2-mod-php php-curl php-json composer
2. 上传项目文件
将本地的Stripe订阅项目文件上传到Apache的网站目录,推荐路径为/var/www/html/stripe-sub/(可自定义),可通过SFTP或scp命令完成上传。
3. 安装生产环境依赖
进入项目目录,执行Composer命令安装仅生产环境需要的依赖:
cd /var/www/html/stripe-sub composer install --no-dev
4. 配置Apache虚拟主机(推荐)
如果需要用独立域名或子域名访问,创建Apache虚拟主机配置文件:
- 在
/etc/apache2/sites-available/目录下新建stripe-sub.conf文件,内容如下:
<VirtualHost *:80> ServerName your-domain.com # 替换为你的域名或服务器IP DocumentRoot /var/www/html/stripe-sub/public # 指向项目的public目录 <Directory /var/www/html/stripe-sub/public> AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/stripe-sub-error.log CustomLog ${APACHE_LOG_DIR}/stripe-sub-access.log combined </VirtualHost>
- 启用该虚拟主机并重启Apache:
sudo a2ensite stripe-sub.conf sudo systemctl restart apache2
5. 配置URL重写规则
Slim框架需要URL重写来路由请求,确保项目的public目录下存在.htaccess文件,内容如下:
RewriteEngine On # 静态文件直接访问,其他请求转发到index.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L]
如果没有该文件,手动创建即可。同时确保Apache的rewrite模块已启用:
sudo a2enmod rewrite sudo systemctl restart apache2
6. 调整文件权限
设置Apache用户(通常为www-data)拥有项目目录的读写权限,避免运行时权限错误:
sudo chown -R www-data:www-data /var/www/html/stripe-sub sudo chmod -R 755 /var/www/html/stripe-sub
7. 配置生产环境变量
修改项目中的环境配置(通常为.env文件),替换为生产环境的Stripe密钥:
STRIPE_SECRET_KEY:使用Stripe控制台的生产环境Secret KeySTRIPE_PUBLISHABLE_KEY:使用Stripe控制台的生产环境Publishable Key- 确保
APP_ENV设置为production
8. 测试访问
完成以上配置后,通过服务器IP或配置的域名访问项目,测试订阅流程是否正常运行。
内容的提问来源于stack exchange,提问作者Luis Cruz
相关产品推荐
相关产品推荐

