php项目部署----------酒店项目
php项目部署----------酒店项目
·官方网址
https://github.com/Qloapps/QloApps
部署的步骤
准备工作目录:
mkdir qloapps-deployment && cd qloapps-deployment
下载 QloApps 源码:
1. 我这里就本地下载了,上传到机器上,unzip qloapps_1.6.1.zip -d qloapps
创建配置文件:
将上面的 docker-compose.yml
、nginx.conf
和 php.ini
保存到当前目录。
docker-compose.yml
version: '3'services:db:image: mysql:8.1container_name: qloapps_dbrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: root_passwordMYSQL_DATABASE: qloappsMYSQL_USER: qloapps_userMYSQL_PASSWORD: qloapps_passwordvolumes:- mysql-data:/var/lib/mysqlnetworks:- qloapps_networkphp-fpm:image: bitnami/php-fpm:latestcontainer_name: qloapps_php_fpmrestart: alwaysvolumes:- ./qloapps:/app- ./php.ini:/opt/bitnami/php/etc/php.inidepends_on:- dbnetworks:- qloapps_networknginx:image: nginx:latestcontainer_name: qloapps_nginxrestart: alwaysports:- "80:80"volumes:- ./qloapps:/app- ./nginx.conf:/etc/nginx/conf.d/default.confdepends_on:- php-fpmnetworks:- qloapps_networknetworks:qloapps_network:driver: bridgevolumes:mysql-data:
nginx.conf
server {listen 80;server_name localhost;root /app;index index.php index.html;location / {try_files $uri $uri/ /index.php?$query_string;}location ~ \.php$ {fastcgi_pass php-fpm:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;fastcgi_read_timeout 300; # 5分钟超时,匹配PHP的max_execution_time}# 调整上传文件大小限制client_max_body_size 16M;# 日志配置access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;
}
php.ini
; 调整PHP配置以满足QloApps要求
memory_limit = 128M
upload_max_filesize = 16M
post_max_size = 16M
max_execution_time = 500
max_input_time = 500
allow_url_fopen = On; 启用必要的扩展
extension=pdo_mysql
extension=mysqli
extension=openssl
extension=soap
extension=gd
extension=xml
extension=zip
检测数据库连接脚本
<?php
// 数据库连接测试脚本
$host = 'db'; // Docker Compose服务名
$dbname = 'qloapps';
$username = 'qloapps';
$password = 'qloapps';
$port = 3306;try {// 创建PDO连接$pdo = new PDO("mysql:host=$host;dbname=$dbname;port=$port", $username, $password);// 设置错误模式为异常$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);echo "数据库连接成功!<br>";// 测试查询$stmt = $pdo->query("SELECT VERSION()");$version = $stmt->fetchColumn();echo "MySQL版本: $version";} catch(PDOException $e) {echo "数据库连接失败: " . $e->getMessage();
}
?>
启动
docker compose up -d
[root@docker-110 qloapps-deployment]# docker exec -it qloapps_php_fpm bash
root@2465b8879bd6:/app# ls
Adapter README.md composer.json download index.php log tests webservice
CHANGELOG.txt SECURITY.md config error500.html init.php mails themes
CONTRIBUTING.md admin3429oeer8 controllers footer.php install modules tools
Core cache css header.php js override translations
LICENSE.md classes docs img localization pdf upload
root@2465b8879bd6:/app# rm -rf install
root@2465b8879bd6:/app#
看到这里,完结撒花🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸
看完点赞哦,哦哦哦