我需要在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中找不到类“线程化”
该脚本与本教程中的脚本相同,在本教程中,该脚本是通过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。)
预先感谢您的关注。
最佳答案
我的答案与pthread没有直接关系,但是,从2019年4月开始,而不是使用Apache 2来为您的PrestaShop商店获得最佳性能,
我建议以下内容:
然后:
最后:
[opcache]zend_extension=php_opcache.soopcache.enable=1opcache.enable_cli=1opcache.memory_consumption=1024opcache.interned_strings_buffer=16opcache.max_accelerated_files=16229opcache.validate_timestamps=0opcache.revalidate_freq=0opcache.fast_shutdown=1opcache.save_comments=0opcache.enable_file_override=1opcache.log_verbosity_level=0opcache.file_cache_consistency_checks=0opcache.validate_permission=0opcache.validate_root=0
关于docker - 如何在apache2上使用pthread?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55838990/