OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Θέματα που αφορούν τη γενικότερη λειτουργία του Opencart.
#8356
Ίσως φαίνεται λιγάκι παράδοξο αλλά προσπαθώ μέσα στο Google Drive που είναι εγκατεστημένο στο PC μου, έτσι ώστε να συγχρονίζεται σε διάφορα PC που χρησιμοποιώ. Ακολούθησα αυτές τις οδηγίες .
Ανέβασα διάφορα sites για δοκιμή και εν τέλει είπα να κάνω και μία εγκατάσταση opencart. Κατά το 2ο βήμα όλα τα Directories φαίνονται Unwritable. Άλλαξα τα δικαιώματα του φακέλου, ο χρήστης του υπολογιστή καθώς και ο Everyone έχουν όλα τα Δικαιώματα πέραν απ' τα Ειδικά. Ωστόσο δεν μπορώ να ξεκολλήσω απ' το 2ο βήμα.

Το περίεργο είναι τα 2 config.php αρχεία είναι Writable

Κάποιος που να έχει καλύτερη σχέση με τα user privileges των Windows έχει καμιά ιδέα;
#8357
Καλημέρα,

Δεν μπορώ να σε βοηθήσω στο συγκεκριμένο ερώτημα γιατί δεν χρησιμοποιώ windows πάνω από δεκαετία και έχω χάσει κάθε επαφή. Ωστόσο, έχω μία καλύτερη πρόταση. Αντί να προσπαθείς να βρεις λύσεις για Xampp που θεωρείται παλαιότερη πρακτική, θα πρότεινα να πας σε Docker και να έχεις στο drive μόνο τα configuration αρχεία που χρειάζεται να τρέξει το κάθε container, όπως dockerfiles, yaml, κλπ και το root directory του web server με τα sites. Με αυτήν την μέθοδο θα μπορείς να πηγαίνεις γρήγορα σε άλλες τις PHP εκδόσεις.
#8358
Docker είναι κάτι που απέφευγα τόσο καιρό....
Κυριακή ωστόσο σήμερα ευκαιρία ήταν να ασχοληθώ. Όντως φαίνεται να δίνει λύση στο πρόβλημα μου, καλύτερη απ' το XAMMP. Οπότε είδα κάποια tutorials όπως αυτά που φαίνονται παρακάτω:
https://docker-curriculum.com
https://doc4dev.com/en/create-a-web-sit ... th-docker/

Έφτιαξα λοιπόν ένα server (βλ. παρακάτω στο docker-compose.yml) χρησιμοποιώντας τα images των php:7.4-apache mysql και phpmyadmin και προχώρησα στην εγκατάσταση του opencart. Αν και βρέθηκαν μπροστά μου αρκετές δυσκολίες τις οποίες κατάφερα και ξεπέρασα, το παρακάτω σφάλμα στο home page δεν μπορώ να το ξεπεράσω. Συνήθως για κάτι τέτοια φταίει το GD ωστόσο και κατά την εγκατάσταση, τόσο και στο php info φαίνεται ενεργοποιημένο
Fatal error: Uncaught Error: Call to undefined function imagecreatefromjpeg() in /var/www/html/system/library/image.php:47 Stack trace: #0 /var/www/html/catalog/model/tool/image.php(33): Image->__construct('/var/www/html/i...') #1 /var/www/html/system/engine/loader.php(248): ModelToolImage->resize('catalog/demo/ma...', '200', '200') #2 /var/www/html/system/engine/proxy.php(47): Loader->{closure}(Array, Array) #3 /var/www/html/catalog/controller/extension/module/featured.php(24): Proxy->__call('resize', Array) #4 /var/www/html/system/engine/action.php(79): ControllerExtensionModuleFeatured->index(Array) #5 /var/www/html/system/engine/loader.php(48): Action->execute(Object(Registry), Array) #6 /var/www/html/catalog/controller/common/content_top.php(63): Loader->controller('extension/modul...', Array) #7 /var/www/html/system/engine/action.php(79): ControllerCommonContentTop->index(Array) #8 /var/www/html/system/engine/loader.php(48): Action->execute(Object(Registry), Array) #9 /var/www/html/catalog/controller/common/home.php in /var/www/html/system/library/image.php on line 47
Το folder tree μου είναι το παρακάτω:
Κώδικας: Επιλογή όλων
C:\......SERVER\
│   docker-compose.yml
│   
├───build
│   ├───mysql
│   │       Dockerfile
│   │       
│   └───php
│           Dockerfile
│           
├───db
    ....Database Folder...
└───www
    │   .htaccess.txt
    │   config.php
    │   index.php
    │   php.ini
    │   robots.txt
    │   
    ├───admin           
    ├───catalog                   
    ├───image              
    └───system
Το docker-compose.yml :
Κώδικας: Επιλογή όλων
version: "3.9"
services:
  php-apache:
    ports:
      - "80:80"
    build: './build/php'
    volumes:
      - ./www:/var/www/html
  mysql:
    ports:
      - "3306:3306"
    build: './build/mysql'
    environment:
      MYSQL_ROOT_PASSWORD: "admin1234"
      MYSQL_DATABASE: "opencart"
    volumes:
      - ./db:/var/lib/mysql
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: pma
    links:
      - mysql
    environment:
      PMA_HOST: db
      PMA_PORT: 3306
      PMA_ARBITRARY: 1
    restart: always
    ports:
      - 8081:80
Το php/Dockerfile:
Κώδικας: Επιλογή όλων
FROM php:7.4-apache

RUN apt-get update && \
    apt-get install -y libzip-dev libpng-dev && \
    docker-php-ext-install mysqli pdo pdo_mysql zip gd
phpinfo και gd info μήπως κάποιος βλέπει κάτι που δεν βλέπω εγώ.

Η έκδοση του opencart που προσπαθώ να εγκαταστήσω είναι 3.0.3.8
#8359
Καλησπέρα,

Αυτές τις μέρες ετοιμάζω γλώσσες για OpenCart 4.0.1.1 και 4.0.2.1.

Αν μπορείς να κάνεις μερικές ημέρες υπομονή, θα ανεβάσω στο github ότι έχω φτιάξει σε Docker για OpenCart LAMP με εκδόσεις PHP 7.0 έως 8.1 + phpMyAdmin.
#8360
Στο μεταξύ δες αυτές τις αλλαγές στο dockerfile
Κώδικας: Επιλογή όλων
&& apt-get install -y \
   nano \
   libzip-dev \
   zip \
   libfreetype-dev \
   libjpeg-dev \
   libpng-dev \
   libwebp-dev \
   libxpm-dev \
&& apt-get clean -y \   
&& docker-php-ext-configure gd \
  --with-freetype=/usr/include/ \
  --with-jpeg=/usr/include/ \
  --with-webp=/usr/include/ \
  --with-xpm=/usr/include/ \
&& docker-php-ext-install -j$(nproc) mysqli zip gd \
#8361
Σ' ευχαριστώ πολύ. Νομίζω σημαντικό ρόλο πρέπει να έπαιξε η έλλειψη του libjpeg-dev. Δυστυχώς δεν είχα χρόνο να το ψάξω περαιτέρω σήμερα για να πω με σιγουριά.
Πάντως για όποιον θέλει να δοκιμάσει, με το παρακάτω DockerFile τρέχουν όλα μια χαρά.
Κώδικας: Επιλογή όλων
FROM php:7.4-apache

RUN apt-get update \
    &&apt-get install -y \
    nano \
    libzip-dev \
    zip \
    libfreetype-dev \
    libjpeg-dev \
    libpng-dev \
    libwebp-dev \
    libxpm-dev \
    && apt-get clean -y \   
    && docker-php-ext-configure gd \
    --with-freetype=/usr/include/ \
    --with-jpeg=/usr/include/ \
    --with-webp=/usr/include/ \
    --with-xpm=/usr/include/ \
    && docker-php-ext-install -j$(nproc) mysqli zip gd \
Δεν έχω δώσει DockerFile της mysql
Κώδικας: Επιλογή όλων
FROM mysql:latest
USER root
RUN chmod 755 /var/lib/mysql
Για όσους νουμπάδες σαν εμένα δοκιμάσουν, μην βάλετε localhost στο 3ο βήμα στις ρυθμίσεις της βάσης δεδομένων. Βάλτε mysql. Ο λόγος είναι ότι η βάση δεν τρέχει στο ίδιο container με τον server και επικοινωνεί μέσω μιας γέφυρας που φτιάχνει αυτόματα ο Docker Composer. Όποιος ενδιαφέρετε μπορεί να δει αναλυτικά στο https://docker-curriculum.com για να καταλάβει και πως λειτουργεί στο background.

Σίγουρα η λύση της Alexandras θα είναι πολύ καλύτερη όσον αφορά το opencart, οπότε για άλλη μια φορά την ευχαριστούμε και περιμένουμε υπομονετικά.

Καλησπέρα στην ομάδα, θέλω να ρωτήσω το εξής: Σε O[…]

Σας ευχαριστώ πολύ για την απάντηση, σκεφτείτε η ε[…]

Έλεγξε αν έχεις πολύ μεγάλα αρχεία εικόνων και αν […]

Κάνε ένα restart τον σερβερ. (βασικα την λειτουργι[…]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!