错误加载opcache.so失败:opcache.so:未定义的符号:compiler_globals-Apache 2.4 / PHP 5.5 / Ubuntu 12.10 VPS
我对此有点不熟悉,但是我的目标是在运行Ubuntu 12.10的无管理VPS上启动Apache 2.4和Php 5.5.我成功地让他们既可以操作并提供HTML和PHP内容,却在设置的一些领域遇到问题.首先使用opcache.o,这是我要使用PHP 5.5的主要原因.我在conf文件中有模块opcache.o,但是我从apache收到此错误: apache错误日志: 3月4日星期二15:19:00.624085 2014] [MPM_EVENT:注意] 失败加载/usr/lib/php5/20100525/opcache.so:/usr/lib/php5/20100525/20100525/opcache.so:Undefined符号:compiler_globals 研究我没有找到解决这个问题的人.我发现的一些以前的帖子可能需要以不同的方式编译PHP.我不知道它是否与我的特定配置有关,但这是我第一次从github源编译.我的PHP信息显示" PHP版本5.5.11-DEV"
0 2024-02-27
编程技术问答社区
Windows、XAMPP、PHP 7和opcache
我已经使用PHP 7 安装了最新的XAMPP服务器(更新:还检查了PHP 7.1)(在我的 Windows 10 系统上).想要使用 opcache ,因此我在php.ini中启用了它. [opcache] zend_extension=php_opcache.dll opcache.enable=1 opcache.enable_cli=0 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 现在进行了更改,并且几乎每页都会刷新,我从Apache那里获得了此错误: AH00428: Parent: child process 3748 exited with status 3221226356 -- Restarting. 因此,页面正在加载和加载...等待Apache再次开始.当我关闭Opcache(通过设置opcac
0 2024-02-27
编程技术问答社区
用Zend Opcache把一个目录列入黑名单
我如何告诉Zend Opcache 不从特定目录中缓存任何文件. 例如/var/www/public_html/devzone/* 我将PHP 5.5.13与Zend OPcache v7.0.4-dev 一起使用 解决方案 您应该设置 opcache.blacklist_filename opcache.blacklist_filename 带有黑名单的文件路径的配置值. Opcache黑名单文件的位置.黑名单文件是一个文本文件,其中包含不应加速的文件的名称,每行.允许通配符,也可以提供前缀.以半颜色开头的行被忽略为注释. 例如,创建一个新文件: /etc/php5/opcache-blacklist.txt 用您的通配符设置保存: /var/www/public_html/devzone/* 并将黑名单文件路径添加到您的php.ini: opcache.blacklist_filename=/etc/php5/opcache-blac
4 2023-12-26
编程技术问答社区
PHP OPcache的优化级别--它们是什么?
有一个 Opcache可以进行哪种优化?哪些字节码完成了什么? 后续问题:是否有OPCACHE可以很好地优化的代码模式?例如,HHVM可以跳过仅包含类/函数声明的文件,并且仅填充类/功能表. 解决方案 opcache.optimization_level的位对应于: 位0-通过1: cse - 常数subexpressions impemination add_char/add_string优化的序列 将cast(is_bool,x)转换为bool(x) convert inti_fcall_by_name + 位1-通过2: 将常数操作数转换为预期类型 转换有条件的 jmp 带有常量操作媒体 优化静态 brk and cont 位2-通过3: 将$ a = $ a + expr转换为$ a + = expr 将$ a ++转换为++ $ a 优化一系列 jmp s 位3-通过4: 打印和回声优化 - 删除 位4-通过5:
6 2023-12-26
编程技术问答社区
用Xdebug调试时,启用OPcache时不显示本地变量
我启用了Xdebug并与Opcache一起工作. OPCACHE模块首先由PHPFPM加载(重要).如果您尝试调试下面的代码(从浏览器),并在本地变量中放置障碍物,您将看到它们未显示.如果我停用Opcache,一切都按预期工作.我正在使用phpstorm 2018.2.5进行调试. class Foo { public $member = 'Some value'; public function methodFoo() { $localFoo = "local2"; } } class Bar { public $firstMember = "foo"; public $secondMember = "bar"; public function create() { $localBar = 10; $newFoo = new Foo(); $newFoo->met
2 2023-12-20
编程技术问答社区
启用PHP7 Opcache
我最近升级为Php 7. 我将其放在/etc/php.d/opcache.ini 中 opcache.file_cache = /var/www/html/.opcache opcache.file_cache_only = 1 并创建了目录(作为root) 当我访问该网站时,.opcache文件夹中没有任何创建 a phpinfo();反映了我在opcache.ini 中所做的更改 如何通过WordPress获得最佳性能的php 7 opcache? 更新 问题是女巫文件夹的许可. 'ale确定apache可以写信给它. 最佳设置是什么?安全和速度明智? 解决方案 我通过确保Apache将其写入我创建的文件夹来解决.完成此操作后,重新启动httpd使它起作用.
6 2023-12-11
编程技术问答社区
APC -> APCu / OPCache,性能不佳
我有一个我今天更新为PHP 5.5.11的m3.xlarge EC2实例. 使用此更新,它覆盖php55-pecl-apc php55-pecl-apcu. 阅读和实验后,我的理解是APC已被OPCache替换,除了可以用APCu带回来的密钥值存储. 将我的配置调整为看起来合理的东西后,使用WordPress登录时,现在非常慢,至少300-900ms差300毫秒(前端是通过Varnish缓存的,并且使用完美...但是当您使用时管理员故意没有缓存,并且像罪一样缓慢). 我在升级时进行了一系列的基准测试,每个步骤都小样本量.随着我的继续,它变得更糟,更糟. apc(升级之前)--> opcache + no apcu --> opcache + apcu + apcu wp插件 现在,我只是在用opcache出去玩,没有apcu. 如何实现相同的表现?我喜欢管理界面,我喜欢它的速度.老实说,我根本看不到这是如何改进的,这确实令人沮丧……除非我不
12 2023-12-11
编程技术问答社区
PHP opcache重置+symlink式部署
我正在尝试在Symlink式部署后重置PHP OPCACHE.我的项目中有opcache_reset.php文件,该文件是由文档root的symlink替换后执行的wget: no value opcache.consistency_checks => 0 opcache.dups_fix => Off opcache.enable => On opcache.en
2 2023-11-30
编程技术问答社区
在wamp中为php启用opcache
我尝试在Wamp上启用Opcache,但它不起作用.我更改了这样的设置: [opcache] zend_extension=C:/wamp/bin/php/php5.5.12/ext/php_opcache.dll opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 我总是在PHP扩展中具有红色感叹号 怎么了?一些帮助 ,它在phpinfo() 中 Zend OPcache Opcode Caching Up and Running Optimization Enabled Startup OK Shared memory model win32 Cache hits 0 Cache misses 1 Used memory 483
8 2023-11-27
编程技术问答社区
如何使用ZendOpCache进行Doctrine2缓存?
我已经在我的开发环境中安装了PHP 5.5.1,并且还将Zend Opcache作为缓存提供商.一切都在服务器上使用新版本和设置在服务器上工作,但是在我的Symfony 2项目中,我有Doctine2 Cache存储一些"静态"数据(国家/地区,语言等),并且与Opcache不起作用. 直到今天,我一直在使用 Doctrine \ common \ common \ common \ carce \ apcace \ apcce 使用APC与Doctrine2的缓存一起工作,但似乎不存在与Opcache一起使用的类. 这是我的apc缓存的config.yml: # Services services: cache: class: Doctrine\Common\Cache\ApcCache 现在,使用opcache,我尝试使用 zenddatacache ,但行不通: # Services services: cache:
10 2023-10-12
编程技术问答社区
如何确定PHP OPcache是否被启用?
我正在尝试在我的服务器上启用opcache(ubuntu 12.04 LTS,使用apache 2.4.7运行apache 2.4.7). 在开始做任何事情之前,我阅读这个高度相关的帖子告诉我,默认情况下opcache是​​禁用的,我是我的必须手动启用它. 我进入了php.ini,发现没有opcache.so的文字,也评论了与Opcache相关的所有内容.这样: [opcache] ; Determines if Zend OPCache is enabled ;opcache.enable=0 ; Determines if Zend OPCache is enabled for the CLI version of PHP ;opcache.enable_cli=0 这是可以的,因为该人告诉该人已禁用.但是当我咨询phpinfo();时,它向我展示了以下内容(基于我的理解,它告诉我Opcache已经使用了). 那么我的opcache是​​否已启用和使用?
14 2023-06-30
编程技术问答社区
关掉MAMP中的缓存
试图关闭MAMP中的缓存以进行开发,等待缓存在做出小的更改后到期正在杀死我的生产力. (当我更改为php 5.5.3时,问题开始了,更换后无法修复它) 研究后,我采取了以下步骤来(失败)禁用缓存: 在php.ini和Reset Mamp中评论了Opcache Lines. (并尝试显示零值) ;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so" ; opcache.memory_consumption=0 ; opcache.interned_strings_buffer=0 ; opcache.max_accelerated_files=0 ; opcache.revalidate_freq=0 ; opcache.fast_shutdown=1 ; opcache.enable_cli=0
8 2023-06-20
编程技术问答社区
我应该在生产中启用OpCache吗?有php 7.0的基准吗?
我应该在生产中启用Opcache吗? php 7.0的任何基准? 是否有任何基准测定了PHP 7.0服务器上的Laravel应用程序可以从启用和调整Opcache中受益多少?分享您的经验也很高兴. 解决方案 我在生产中启用了Opcache,并且没有问题.毫无疑问,性能提高,所以我建议启用它. 我不是Laravel开发人员,但是那里进行了大量的性能比较.例如,快速的Google搜索显示虽然没有确定的基准,但值得一看">" ://www.techempower.com/benchmarkss/#section = data-r12&hw = peak&test = fortune&l = 13yebk 用于PHP Framework基准. opcache并未经过专门测试,但是HHVM应该为您提供改进的性能.
16 2023-06-05
编程技术问答社区
PHPDocumentor 2和PHP 7与Doctrine中的opcache问题
希望这里有人知道这一点. 简短问题 我正在使用命令行上的PHPDOC遇到错误,该错误是通过PER在PHP 7.0.2上安装的.错误是: #> phpdoc PHP Fatal error: Uncaught Doctrine\Common\Annotations\AnnotationException: You have to enable opcache.load_comments=1 or zend_optimizerplus.load_comments=1. in /usr/local/php5-7.0.2-20160108-102134/lib/php/phpDocumentor/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php:193 如何解决此错误? 详细信息 opcache已启用,opcache.load_commen
38 2023-06-05
编程技术问答社区
php opcache的变量设置不正确
我正在尝试将变量设置为在我的php.ini文件中设置opcahe. phpinfo说: Configuration File (php.ini) Path /etc/php/7.0/fpm Loaded Configuration File /etc/php/7.0/fpm/php.ini Scan this dir for additional .ini files /etc/php/7.0/fpm/conf.d Additional .ini files parsed /etc/php/7.0/fpm/conf.d/10-mysqlnd.ini, /etc/php/7.0/fpm/conf.d/10-opcache.ini, /etc/php/7.0/fpm/conf.d/10-pdo.ini, /etc/php/7.0/fpm/conf.d/15-xml.ini, ... 和/etc/php/7.0/fpm/conf.d/10-opca
8 2023-06-05
编程技术问答社区
用opcache在PHP中缓存静态数据
我有〜100个字符串变量,需要在PHP网站的每个网页上可用.数据将永远不会在运行时发生变化,尽管将来我需要多个数据集并在使用页面请求的一个数据之间切换.字符串的长度从5到600个字符不等.我目前包括一个具有这样数据的文件: $someStuff = "abc"; $otherStuff = "def"; // etc 我正在使用opcache.这种方法将从Opcache中受益多少? 我已经看过这个答案.如果可以进行关键查找,我可以更改为使用关联阵列.但是,我尚不清楚是否使用具有静态数组字段的类比声明变量更好. 也许具有静态变量的函数是个好主意吗?这是相同的,更好还是更糟? function getItem ($name) { static $items = array("someStuff" => "abc"); return $items[$name]; } 也许是每个字符串的函数而不是变量?如果不是所有的字符串用于给定页面(通常是这种情
16 2023-06-03
编程技术问答社区
使用OpCache的PHP用户区缓存(未按预期工作)。
我想将php opcache用作userland缓存(例如apcu,redis,memcache)作为后备,那里无法使用更好的缓存解决方案. 这个想法是存储数据以缓存到在运行时创建的PHP文件中,并使用include读取数据.通过这种方式,OPCACHE应该是存储器中的缓存该编译的文件,结果是内存缓存.
14 2023-06-02
编程技术问答社区
当我打开php opcache的时候,Doctrine被吓坏了。
我对学说和PHP 5.5.6 Opcache有一个非常奇怪的问题.关闭opcache模块时,一切正常.打开它后,我开始获得以下例外: Fatal error: Uncaught exception 'Doctrine\ORM\Mapping\MappingException' with message 'Class "Admin\Models\Users\Role" is not a valid entity or mapped super class.' in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php on line 336 ( ! ) Doctrine\ORM\Mapping\MappingException: Class "Admin\Models\Users\Role" is not a valid entity or mapped super class. in vendor/doc
8 2023-05-31
编程技术问答社区
php不能持续显示文件的变化
我正在更改PHP文件,而它们没有显示 - 有时.有时他们会立即显示.有时我必须等几分钟.我已经浏览了一下,关闭了我想关闭的所有缓存.这个问题是不一致的,很难始终如一地复制. 解决方案 回答我自己的问题... 我花了一段时间进行试验来始终如一地重现这种行为.我不得不让服务器坐在没有刷新任何页面的情况下几分钟.然后,如果我在刷新页面之前更改文件,则更改显示,并立即显示所有后续更改.如果我首先刷新页面,然后对文件进行更改,那么直到我刷新10-20次, 才显示后续更改. 顺便说一句,HTML文件显示所有更新,因此这是PHP问题. 找到答案之前,我尝试了... 关闭nginx缓存 将nginx conf设置为sendfile off; 将nginx conf设置为expires off; ...这些都不是.然后,我发现实际上是Opcache.我通过将php.ini文件更改为此(并重新启动所有服务) 来解决问题. opcache.enable=0
44 2023-05-31
编程技术问答社区
什么是PHP中的userland caching APCu扩展?
只是一个与opcache有关的问题,因为我不了解它,并在Google上找到答案: 当我们谈论userland缓存时,这是什么意思?我知道PHP预先捆绑了新的Zend Opcache扩展名,并且此扩展程序将OP代码纳入RAM,以免在每个请求下应转换为OP代码的处理器太多, 但是,当APCU说它实现Userland缓存时,该怎么办? 什么是Userland缓存?是否可以将APCU和Zend Opcache放在一起?应该使用zend opcache代替apcu? 解决方案 APCU确实是由乔·沃特金斯(Joe Watkins)开发的,以响应Opcache. APC支持OpCode缓存和数据缓存,但自PHP 5.4以来一直在支持OpCode缓存方面存在稳定性问题.在Zend Inc打开OPCACHE的来源并将其放置在PHP许可下之后,它成为PHP 5.5的核心和首选OpCode Cache. 但它仅支持opco​​de缓存而不支持数据缓存. Joe的APCU本质上是一个
16 2023-05-28
编程技术问答社区