Prestashop 1.7.6.5 安裝指南


最近有朋友問 Prestashop . 安裝遇到各種問題。起初希望程序員自己琢磨比較好。給“魚”是錯誤的,要給“漁”(釣魚的方法)。但因為朋友的各種問題實在太多,所以制作本安裝指南。也希望大家可以評論有用的知識。

前言:

一般程序員的常規方式是去( https://github.com/PrestaShop/PrestaShop/tree/1.7.6.5 ) GIT CLONE GITHUB_URL 

git clone https://github.com/PrestaShop/PrestaShop.git

 依賴:下載完成后:

composer install;

 安裝:cd install 后;執行命令安裝:

php index_cli.php –domain=domain_name.com --db_server=mysql --db_name=prestashop --db_user=root --db_password=password --email=login@domain.com –password=12345678;

 完成安裝截圖:

 

 

 

問題:

  1. 環境問題;
  2. 擴展問題;
  3. 安裝失敗的問題;

環境問題. 提出問題沒有什么意義,直接上解決方案:Docker 解決方案:

docker-compose.yml: compose docker 結構描述文件

###############################################################################
#                          Generated on phpdocker.io                          #
###############################################################################
version: "3.1"
services:

    memcached:
      image: memcached:alpine
      container_name: prestashop-17-first-memcached

    mailhog:
      image: mailhog/mailhog:latest
      container_name: prestashop-17-first-mailhog
      ports:
        - "7778:8025"

    redis:
      image: redis:alpine
      container_name: prestashop-17-first-redis

    mysql:
      image: mysql:5.7
      container_name: prestashop-17-first-mysql
      working_dir: /application
      volumes:
        - .:/application
      environment:
        - MYSQL_ROOT_PASSWORD=root
        - MYSQL_DATABASE=root
        - MYSQL_USER=root
        - MYSQL_PASSWORD=root
      ports:
        - "7779:3306"

    mariadb:
      image: mariadb:10.4
      container_name: prestashop-17-first-mariadb
      working_dir: /application
      volumes:
        - .:/application
      environment:
        - MYSQL_ROOT_PASSWORD=root
        - MYSQL_DATABASE=root
        - MYSQL_USER=root
        - MYSQL_PASSWORD=root
      ports:
        - "7780:3306"

    postgres:
      image: postgres:11.1-alpine
      container_name: prestashop-17-first-postgres
      working_dir: /application
      volumes:
        - .:/application
      environment:
        - POSTGRES_USER=root
        - POSTGRES_PASSWORD=root
        - POSTGRES_DB=root
      ports:
        - "7781:5432"

    elasticsearch:
      image: elasticsearch:6.5.4
      container_name: prestashop-17-first-elasticsearch

    webserver:
      image: nginx:alpine
      container_name: prestashop-17-first-webserver
      working_dir: /application
      volumes:
          - .:/application
          - ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      ports:
       - "7777:80"

    php-fpm:
      build: phpdocker/php-fpm
      container_name: prestashop-17-first-php-fpm
      working_dir: /application
      volumes:
        - .:/application
        - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.1/fpm/conf.d/99-overrides.ini

phpdocker/php-fpm/Dockerfile :配置基本環境GIT \ PHP擴展 等

FROM phpdockerio/php71-fpm:latest
WORKDIR "/application"

# Fix debconf warnings upon build
ARG DEBIAN_FRONTEND=noninteractive

# Install selected extensions and other stuff
RUN apt-get update \
    && apt-get -y --no-install-recommends install  php-memcached php7.1-mysql php7.1-pgsql php-redis php7.1-sqlite3 php7.1-xmlrpc php7.1-xsl php-yaml php7.1-gd php7.1-intl \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

# Install git
RUN apt-get update \
    && apt-get -y install git \
    && apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*

phpdocker/nginx/nginx.conf : 配置nginx

server {
    listen 80 default;

    client_max_body_size 108M;

    access_log /var/log/nginx/application.access.log;


    root /application/public;
    index index.php;

    if (!-e $request_filename) {
        rewrite ^.*$ /index.php last;
    }

    location ~ \.php$ {
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log";
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        include fastcgi_params;
    }

    location /status {
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
    
}

 phpdocker/nginx/php-ini-overrides.ini : 重寫 PHP 配置

upload_max_filesize = 100M
post_max_size = 108M

 以上實現 docker 的環境,創建完成文件后如下:

-/docker-compose.yml,

  |-/phpdocker/

    |-php-fpm/

      |-Dockerfile :

      |-php-ini-overrides.ini

    |-nginx/

      |-nginx.conf :

擴展問題:如上配置安裝擴展:

php-memcached php7.1-mysql php7.1-pgsql php-redis php7.1-sqlite3 php7.1-xmlrpc php7.1-xsl php-yaml php7.1-gd php7.1-intl 

 

安裝失敗問題:

1,Link to database cannot be established: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

  • 配置出錯,文件路徑( install/classes/datas.php);

2,Link to database cannot be established: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

  • STEP 1,數據庫配置錯誤;修改數據庫用戶,查看是否一定與ROOT用戶有關。
  • STEP 2,如果還是上述錯誤提示。則是配置沒有被讀取;可直接修改 index_cli.php 配置數據文件; 如 1.7.6.5版本文件路徑( install/classes/datas.php);.

3,加載12% 數據表創建問題、23% 語言加載失敗 過程中失敗;

  • 12% 數據表創建問題:檢查數據庫的配置與字符編碼;
  • 23% 語言加載失敗:檢查是否連接網絡;

4,安裝依賴出錯或太慢;

5,界面版安裝 ?

6,開啟debug ?

  • config/define.inc.php 修改 define('_PS_MODE_DEV_', true);

7,Link to database cannot be established: SQLSTATE[HY000] [2002] Connection refused

  • app/config/parameters.php 修改數據庫配置;
    當使用 docker 時,database_host = container name ; port = 空 ;

8,504 Gateway Time-out 

  • 查看域名是否是 http://yourself.com/install/ ;
  • 刪除 install 目錄;

9,-

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM