PrestaShop出坑记

1、Opcache 不但要启用,而且opcache.save_comments=1

如果 建立参数,在第二步 创建数据库表 时出现 :

安装过程出现错误......
您可以使用左栏的链接来回到上一步,或是 点击这里 重新开始安装程序。
1:HTTP 500 -error-

这时我们查看php-error.log

PHP Fatal error:  Uncaught Doctrine\Common\Annotations\AnnotationException: 
You have to enable opcache.save_comments=1 or zend_optimizerplus.save_comments=1

其实就是告诉我们 要开启 opcache.save_comments=1,在php.ini里[opcache.so] 下加入。我随便加了句opcache.enable=1(貌似默认就是启动的,加不加都一样)

2、数据库必须启用innoDB引擎!!

默认没有启用,吃了点亏。还好看到innoDB的字就知道应该是要启用,启用后就跑顺利了。

3、文件夹权限要启用

用它自带的index.php老是出现 an error has occurred :,后面又没有显示具体的错误是啥 ?所以我改用了自己手动解压zip文件在服务器。 手动解压不像index.php它自动帮你修正文件权限。所以得自己动手修正。还好安装过程中会检测哪些文件要提升权限。我最后1.7.3上755文件夹权限,644文件权限正常运行。后来我又看了一下它把/app/cache/prod/目录下的几个文件夹cachefs, ps_mainmenu, purifier, push, tcpdf都被转成了777的权限,这可不是我自己改的,是安装过程中它改的。

4、进入后台后,有一些页面打不开404错误,或直接会跳至前端首页

其实就是代理路由出了问题,解决方法就是修改rewrite规则。这里我只列举nginx的rewrite规则。Apache的请自行修改 .htaccess 文件
出错规则是:

  • index.php/ 结尾的就会出现404错误!
  • index.php? 结尾的就没问题。

解决方案:添加下面的代码且修改一下放入你的rewrite里去

##  将admin168改成你的admin文件目录名称!!!!
location /admin168/ {   #将admin168改成你的admin文件目录名称!!!!
    if (!-e $request_filename) {
        rewrite ^/.*$ /admin168/index.php last;   #将admin168改成你的admin文件目录名称
    }
}

要知道完整的rewrite规则--看这里-- github: prestashop nginx write rule

5 Error : please install composer. Then run "php composer.phar install"

出现这个说是要安装composer,重试几次都是这样的结果,不知道是不是缓存的问题。最后 没办法,删掉虚拟机重建,一直安装顺利完成。

6、总结:最重的是要跟踪php-errors.log日志文件 以及看第7条。

7、这里是最佳配置 for Prestashop 1.7.

magic_quotes_gpc = off
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
upload_max_filesize = 20M
post_max_size = 20M
max_input_vars = 10000
allow_url_fopen = on  # 开启后你可以导入图片和其它外部资源
cURL  # 安装后如Paypal 和其它web服务将能正常运行
mod_rewrite = installed and activated
mod_security = off

至少是 php 5.6.x + php-fpm + opcache 最必须的, 或php 7, 它能运行更快。

# mySQL 5.5 或更多高版本
JSON = ON
ctype = ON
mySQL = INNODB (myIsam 不支持)
# php.ini 里必须包含时区 date.timezone
# Open SSL 1.0.2 或更多高版
# Linux 服务器 (Prestashop 不推荐使用 Windows servers)
cageFS 和其它 防火墙FIREWALL 安装并配置正确, 如果阻止了Prestashop加载外部服务的话后台就会变得非常慢,如果发现后台运行非常慢,请检查防火墙的配置!!!

Opcache optimization:

opcache.revalidate_freq = 0
opcache.validate_timestamps = 0 (comment this out in your dev environment)
opcache.max_accelerated_files = 7963
opcache.memory_consumption = 192
opcache.interned_strings_buffer = 16
opcache.fast_shutdown = 1

此外,拥有创建/更改/删除文件夹和文件的自动权限是很重要的 (mod suExec / suPHP)。T因此,请注意,所有内部脚本和用户(来自服务器内部)将自动地访问文件夹和文件,而外部访问具有只读访问权限,而不需要手动更改这些参数。



你可能感兴趣的:(PrestaShop出坑记)