我正在将我的网站从安装在共享虚拟主机帐户(DreamHost)上的PHP v.5转换到PHP 7.3.11上。转换后,我开始注意到偶尔会收到以下警告:
警告:preg_match_all():分配JIT内存失败,PCRE JIT将被禁用。这可能是由安全限制引起的。请授予PHP分配可执行内存的权限,或设置pcre.jit = 0
最后一个来源于这行代码,它应该替换我发布的页面HTML中的特殊标记:
if(preg_match_all("/\[".$tagBegin."(\S)+\]/U", $html, $matches, PREG_OFFSET_CAPTURE) !== false)
我需要在v.7.3中做些什么来避免这个警告吗?
5条答案
按热度按时间3pvhb19x1#
您应该可以通过使用
ini_set
更改警告消息本身建议的配置值来避开此警告:确保在使用正则表达式之前运行这行代码。
4nkexdtk2#
对我来说,我已经添加了
pcre.jit=0
到php.ini文件中的[Pcre]
,这工作得很好。ncgqoxb03#
1.在管理您网站的任何系统中搜索:cPanel的文件管理器,你的网络主机的管理面板,你的电脑磁盘-用于'php.ini'。在与你的网站或应用程序有关的地方,不会有很多文件以这样的名字命名,并给你一个错误信息。
1.编辑该php.ini文件,找到部分**[Pcre]**,并在该部分的底部添加以下行:
pcre.jit=0
它应该看起来像这样:
1.保存更改并重新加载页面或应用程序。
bq3bfh9z4#
打开php.ini文件(C:\xampp\php\php.ini)并搜索此设置:
删除注解并确保将其设置为1:
重新启动Apache服务器,警告将消失,并设置正确的权限。
fbcarpbf5#
a有xampp和以前版本php。我通过观看youtube上的一段视频修复了这个错误,视频名为:在.\libraries\classes\Config\FormDisplay中出现错误警告。php#
基本上他所做的是他去了phpadmin页面的底部,下载了一个新版本,然后他在phpadmin文件夹内的配置文件(在mac),并删除所有文件,然后粘贴新的php管理的新文件沿着配置。它的工作很好,我和他。伙计们,这就是为什么视频是有益的太