php项目部署----------酒店项目

发布于:2025-06-27 ⋅ 阅读:(17) ⋅ 点赞:(0)

php项目部署----------酒店项目

·官方网址

https://github.com/Qloapps/QloApps

部署的步骤

准备工作目录

mkdir qloapps-deployment && cd qloapps-deployment

下载 QloApps 源码

1. 我这里就本地下载了,上传到机器上,

unzip qloapps_1.6.1.zip -d qloapps

创建配置文件

将上面的 docker-compose.ymlnginx.confphp.ini 保存到当前目录。

docker-compose.yml

version: '3'

services:
  db:
    image: mysql:8.1
    container_name: qloapps_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: qloapps
      MYSQL_USER: qloapps_user
      MYSQL_PASSWORD: qloapps_password
    volumes:
      - mysql-data:/var/lib/mysql
    networks:
      - qloapps_network

  php-fpm:
    image: bitnami/php-fpm:latest
    container_name: qloapps_php_fpm
    restart: always
    volumes:
      - ./qloapps:/app
      - ./php.ini:/opt/bitnami/php/etc/php.ini
    depends_on:
      - db
    networks:
      - qloapps_network

  nginx:
    image: nginx:latest
    container_name: qloapps_nginx
    restart: always
    ports:
      - "80:80"
    volumes:
      - ./qloapps:/app
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php-fpm
    networks:
      - qloapps_network

networks:
  qloapps_network:
    driver: bridge

volumes:
  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# 

在这里插入图片描述

看到这里,完结撒花🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸

看完点赞哦,哦哦哦


网站公告

今日签到

点亮在社区的每一天
去签到