我需要在apache2中将PHP-FPM与pthread一起使用,以提高在Ubuntu 16.04中运行的Prestashop 1.6存储中的性能。
我做了很多事情。这是最后两个测试:
1)我能够在XAMP v3.2.1中使用pthread运行并行PHP代码,但是它将重新启动apache服务器。我认为这与XAMP中apache已经使用工作线程有关。 (我对此有一个疑问:https://askubuntu.com/questions/1129449/is-apache2-using-threads-or-process-in-ubuntu-18-04)
2)我按照本教程编写了PHP 7.0.33:https://blog.programster.org/install-php-7-0-with-pthreads-on-ubuntu-16.04我使用了一个基于Ubuntu 16.04的docker容器,以避免依赖问题和版本错误。但是,当我使用pthread代码访问PHP脚本时,在浏览器中出现以下错误:致命错误:在第5行的/var/www/html/test.php中找不到类'Threaded' > 该脚本与本教程中的脚本相同,该脚本中的CLI是通过CLI测试的。
所有这些之后,我注意到pthread仅适用于CLI。以下链接对此进行了解释: https://serverfault.com/questions/748001/the-apache2handler-sapi-is-not-supported-by-pthreads https://github.com/krakjoe/pthreads
所以我的问题是:
1)有什么方法可以在Apache的PHP-FPM中使用Pthread吗?
2)有没有其他选择可以提高PHP的速度? (我已经尝试过:APC和APCU。)
预先感谢您的关注。
答案 0 :(得分:1)
我的答案与pthread并不直接相关,但是从2019年4月开始,而不是使用Apache 2来为您的PrestaShop商店获得最佳性能,
我建议以下内容:
然后:
最后:
启用PHP Zend Opcache并使用以下设置(仅在生产中):
[opcache]
zend_extension=php_opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=1024
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=16229
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.save_comments=0
opcache.enable_file_override=1
opcache.log_verbosity_level=0
opcache.file_cache_consistency_checks=0
opcache.validate_permission=0
opcache.validate_root=0