xavier027 Posted June 15, 2016 Share Posted June 15, 2016 (edited) Hello everybody, I have freshly uploaded the files of prestashop 1.6.1.6 on my server and tried to install prestashop. Unfortunately, I get the following issues: Step 1: Language ; Whatever I choose in the dropdown menu, the language doesn't change. Even if I upload the french package, I get the german version (I'm living in Germany) and I want to change it to french, english, mandarin, the page loads again... in german. But well, I can still click on "Next" and go to Step 2. Step 2: I check "I accept...", the button "Next" becomes blue but when I click on it, the page loads again and stays in the second step (licence). Did somebody already experience this issue before ? I have tried to install prestashop using the command-line script index_cli.php but it seems that the tables aren't created in the database, even if I don't get any issue when I give the command with the necessary parameters. I checked the technical requirements of prestashop, everything seems to be fine: allow_url_fopen set to On, safe_mode set to Off, upload_max_filesize set to "64M" I couldn't find register_globals set and magic_quotes_* in phpinfo() but both are removed since php5.4. PDO_MySQL, cURL, SimpleXML, mcrypt, GD, OpenSSL, DOM, SOAP are enabled. My ConfigurationMy Server: Debian/ Linux 7 with nginx 1.6.2PHP: 7.0.5Configuration is working perfectly fine with wordpress Many thanks for your feedback ! Edited June 15, 2016 by xavier027 (see edit history) Link to comment Share on other sites More sharing options...
markaussie Posted June 16, 2016 Share Posted June 16, 2016 Try earlier version of PHP like 5.6.x if possible. Link to comment Share on other sites More sharing options...
xavier027 Posted June 16, 2016 Author Share Posted June 16, 2016 Hi Markaussie, this is the point, I can't. I have several other websites using magento and wordpress and didn't get any issue. This would affect all the other websites hosted in the virtual server. I get only an issue with the prestashop install and I thought that the version 1.6.1.6 was compatible with php7? Link to comment Share on other sites More sharing options...
markaussie Posted June 16, 2016 Share Posted June 16, 2016 Understand If only you had php selector option per user. Starting to play with 1.6.1.6 and php7 now. But I use WHM/cPanel so have php selector option. Link to comment Share on other sites More sharing options...
xavier027 Posted June 22, 2016 Author Share Posted June 22, 2016 I understand your point but isn't it a serious issue which has to be solved by prestashop for a next release? I mean, 1.6.1.6 should be more or less working with php7, I find really strange that it bugs already at the 2. step of the installation. Link to comment Share on other sites More sharing options...
roband Posted June 22, 2016 Share Posted June 22, 2016 1.6.1.6 works just fine with PHP 7, so that's not the problem. My guess is something with your nginx config. Perhaps you can share it with us? 1 Link to comment Share on other sites More sharing options...
xavier027 Posted June 22, 2016 Author Share Posted June 22, 2016 (edited) Thanks for the feedback. I'm not sure if the issue is coming from the nginx config, I have checked and modified some points but everything seems to be fine from my point of view. But I'm not an expert either, it would be definitely a great help if you could confirm if it's fine. nginx.conf http { pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; pagespeed ListOutstandingUrlsOnError on; # GENERAL ignore_invalid_headers on; server_name_in_redirect off; server_tokens off; # Basic Settings sendfile on; tcp_nopush on; tcp_nodelay off; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # SSL Settings ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; # Logging Settings access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; # Gzip Settings gzip on; gzip_disable "msie6"; gzip_static on; gzip_comp_level 9; gzip_proxied any; gzip_min_length 1000; gzip_buffers 4 32k; gzip_http_version 1.0; gzip_types "application/x-javascript;charset=utf-8" text/plain text/css application/javascript application/x-javascript text/javascript text/xml application/xml application/xml+rss application/atom+xml application/rdf+xml application/x-font-ttf font/ttf application/ttf application/x-ttf font/opentype application/x image/x-icon image/bmp application/octet-stream; gzip_vary on; # Virtual Host Configs include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } site-enabled/default server { listen 127.0.0.1:8080; root /var/www; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name XXX; location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } location ~ "^/ngx_pagespeed_static/" { } location ~ "^/ngx_pagespeed_beacon" { } location / { try_files $uri $uri/ =404; index index.php index.html index.htm; } # set expiration of assets to MAX for caching location ~* \.(ico|css|js|gif|jpg|jpeg|png)(\?[0-9]+)?$ { expires max; log_not_found off; } rewrite ^/chocolatsanssucre/api/?(.*)$ /chocolatsanssucre/webservice/dispatcher.php?url=$1 last; rewrite ^/chocolatsanssucre/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$1$2.jpg last; rewrite ^/chocolatsanssucre/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$2/$1$2$3.jpg last; rewrite ^/chocolatsanssucre/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$2/$3/$1$2$3$4.jpg last; rewrite ^/chocolatsanssucre/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last; rewrite ^/chocolatsanssucre/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last; rewrite ^/chocolatsanssucre/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last; rewrite ^/chocolatsanssucre/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/chocolatsanssucre/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/chocolatsanssucre/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/c/$1$2.jpg last; rewrite ^/chocolatsanssucre/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/c/$1.jpg last; rewrite ^/chocolatsanssucre/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /chocolatsanssucre/img/c/$1$2.jpg last; try_files $uri $uri/ /chocolatsanssucre/index.php?$args; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } } Edited June 22, 2016 by xavier027 (see edit history) Link to comment Share on other sites More sharing options...
roband Posted June 22, 2016 Share Posted June 22, 2016 Hmm, my guess is some problem with where PHP stores session state, as the PrestaShop web installer uses sessions to save/restore state from step to step. What is the setting of the PHP configuration variable session.save_path? Does the directory it points to exist? And is the directory writable by the user set in your php-fpm config? Link to comment Share on other sites More sharing options...
xavier027 Posted June 23, 2016 Author Share Posted June 23, 2016 (edited) Hi Roband, I didn't change anything concerning the php initial configuration. Hmm, my guess is some problem with where PHP stores session state, as the PrestaShop web installer uses sessions to save/restore state from step to step. What is the setting of the PHP configuration variable session.save_path? Does the directory it points to exist? I took a look at the php.ini file : Session Support enabled Registered save handlers files user Registered serializer handlers php_serialize php php_binary session.auto_start Off Off session.cache_expire 180 180 session.cache_limiter nocache nocache ... session.referer_check no value no value session.save_handler files files session.save_path no value no value And the following code gives me an empty result: <? error_reporting(E_ALL); ini_set('display_errors', '1'); session_start(); $_SESSION['test'] = 'test'; echo 'curent: '.session_save_path(); ?> current: And is the directory writable by the user set in your php-fpm config? I already though about the user rights and gave for the install the whole prestashop folder file the writable rights. I thought it would be enough. www.conf user = www-data group = www-data ls -l drwxr-xr-x 26 www-data www-data 4096 Jun 23 06:46 chocolatsanssucre chocolatsanssucre is the folder of the install but the root folder www is having another user. Edited June 23, 2016 by xavier027 (see edit history) Link to comment Share on other sites More sharing options...
roband Posted June 23, 2016 Share Posted June 23, 2016 session.save_path with no value is normally not a good thing, and the error reporting in PHP is a bit dodgy in this area. I think it defaults to /tmp which is normally not what you want, especially in shared hosting environments. Check this one: http://blog.outsourcing-partners.com/2012/05/php-sessions-not-working-correctly-tips-and-tricks/ Also I notice you're running with PrestaShop in a subdirectory (chocolatsanssucre), but your nginx config is inconsistent about this, sometimes it uses the subdirectory and sometimes not. Please check the link that mdekker included further up for the correct nginx config. Link to comment Share on other sites More sharing options...
xavier027 Posted June 26, 2016 Author Share Posted June 26, 2016 Hi Roband, You are my hero. session.save_path with no value is normally not a good thing, and the error reporting in PHP is a bit dodgy in this area. I think it defaults to /tmp which is normally not what you want, especially in shared hosting environments. Check this one: http://blog.outsourcing-partners.com/2012/05/php-sessions-not-working-correctly-tips-and-tricks/ It was exactly the issue. Session Cookies weren't drop correctly, I have defined a path in my php.ini file and have double checked the configuration of my server. Now it works ! Concerning the inconstency of the nginx configuration, yeah I agree, I'll put some order in it. Thanks again, I'm really grateful for your help. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now