我遇到一个问题,其中preg_replace()复杂的正则表达式PREG_BACKTRACK_LIMIT_ERROR由于pcre.backtrack_limit太低而导致错误()1,000,000,默认情况下设置为。我将此设置为10,000,000,它适用于此特定应用程序。
我的问题是,backtracking limit松散定义的“单位” 到底是什么?该1,000,000数字对应于内存大小吗?如果没有,这意味着什么?我试图了解在我的环境中对此设置合理的设置。
参考preg_replace:http :
//us3.php.net/manual/en/pcre.configuration.php#ini.pcre.backtrack-limit
回溯参考: 在正则表达式中,什么是回溯/回溯引用?
TL;DR:将“库存”数据表与产品表分开的原因是什么?
我不久前构建了一个应用程序来存储零售产品目录。它在大多数平面表格中包括标准属性,例如尺寸、颜色、图像链接、描述等。它只是 Magento 产品的索引数据,因为该应用程序在单独的服务器上运行。它还有一列数量,但没有任何用途;我只是把它放在那里,想着“以防万一”。
现在,我需要在此应用程序上实现某种库存管理。我一直在研究应该如何更新/设置数据库结构,似乎系统更喜欢在主产品表中拥有单独的“库存”表。对于 Magento 来说也是如此。这是为什么?(请注意,我的应用程序不需要能够为给定产品设置单独的库存水平。)
关于这一点,我想到了几件事..(基本上,除了产品对象之外,库存将是它自己的对象)
给定产品的多个库存池。
能够跟踪库存变化(例如谁/什么负责更改库存等)
能够将不同来源的库存分开以进行报告或统计。
还要别的吗?
更新:
Hazzit 回答了我的问题,他指出了 MySQL 表缓存的一个潜在非常有用的事实,如果您对某个特定表有大量查询。在这里阅读有关此处的内容,但有人指出..
如果表发生更改,则使用该表的所有缓存查询将变得无效并从缓存中删除。
因此,拥有一个单独的库存表肯定会让我受益匪浅,因为主要产品表没有发生很大变化,但库存却发生了很大变化。
我有一个问题,腻子经常断开连接.因此,当我从终端运行PHP脚本时,它总是被中断.该脚本应该运行几个小时,所以我没有运气.
我怎样才能从服务器端完全运行它?我正在读关于cron的工作,但我现在很难理解.我需要什么替代cron?
我有几个脚本PHP文件需要一个接一个地运行,或者一次运行两个.有任何想法吗?
我在页面上创建了一个简单的搜索框,用户可以使用PHP键入关键字以查找某些项目的照片.我正在使用MySQL数据库.我修剪结果并仅显示10以使加载更快,但是某些关键字组导致浏览器在IE和Firefox上都挂起.当这种情况发生在IE上时,我可以在10个结果之外看到照片的轮廓(只是轮廓),右上角有一个"X"标记,类似于加载照片时,网页上不存在照片,即使我编写代码只显示10个结果.该数据库有超过10,000个条目,我想也许它正试图在数据库中显示整个照片集.这是我正在使用的一些代码.
我正在使用下面的函数来创建查询.$ keyword是用户输入的关键字数组.
function create_multiword_query($keywords) {
// Creates multi-word text search query
$q = 'SELECT * FROM catalog WHERE ';
$num = 0;
foreach($keywords as $val) { // Multi-word search
$num++;
if ($num == 1) {
$q = $q . "name LIKE '%$val%'"; }
else {
$q = $q . " AND name LIKE '%$val%'";}
}
$q = $q . ' ORDER BY name';
return $q;
//$q = "SELECT * FROM catalog WHERE name LIKE \"%$trimmed%\" ORDER BY name";
} …Run Code Online (Sandbox Code Playgroud) 我正在将名为Preview.php的Magento Enterprise 1.11.2.0核心文件复制到具有相同目录结构的本地文件夹中,以覆盖此特定文件,因为它无法正常运行.更具体地说,它不允许预览交易电子邮件.我对.php文件中的修复进行了更改,该文件位于本地文件夹中,但Magento似乎认为没有任何更改.我甚至尝试将核心文件本身修改为附加到返回变量的附加垃圾字符串,但是它们也没有注册.
现在,据我所知,我需要刷新缓存,但我认为我没有正确地执行此操作以使这些更改生效.在缓存管理部分,我尝试过"Flush Magento Cache",但我没有尝试过"Flush Cache Storage",因为我被告知不要从设置我们安装的人那里触摸它.有什么区别?可以刷新缓存存储使覆盖的preview.php开始行动吗?
ADD:目录结构是正确的.正如我所提到的,Magento安装由于某种原因无法识别某些文件(而其他文件生效正常).我们其中一个人认为这可能是我们正在使用的扩展之一,它覆盖了某些部分,但我真的没有看到任何覆盖皮肤文件夹中核心应用程序文件或图像的内容.
例如,如果我在我们正在使用的主题文件夹中删除"logo_email.gif",它应该回退到默认的Magento徽标图像.相反,Magento instanace认为该文件仍然存在,甚至加载它!我被迫创建自己的徽标文件logo_email.png并在电子邮件模板中加载此文件,因为删除或覆盖此文件不起作用.
我已经向Magento提交了一张支持票.如果我取得任何进展,我会更新.
我看到callouts模板(frontend\my_package\default\template\callouts中的文件)没有相应的布局XML文件(frontend\my_package\default\layout).所以,我想如果我在frontend\my_package\default\layout\callouts.xml中有一个空白的布局XML文件,这将禁用Magento首页上的callout块.但是,它不起作用.
结帐模板确实有一个checkout.xml布局文件,因此将其设为空白文件会从我正在查看的页面中删除checkout out块.对于checkout块的情况,checkout.xml是否会覆盖从活动catalog.xml调用的内容?我不从catalog.xml中删除相应的行,但空白的checkout.xml文件将禁用此块.
我知道删除catalog.xml中任何块的相应行都会删除/不会在网页上加载我想要的内容,但我想知道为什么我"覆盖"标注的尝试无法正常工作.TIA!
注意:我已经禁用了缓存.
我在PHP中为SQL Server数据库编写的查询存在一个问题,即单词未被识别为表名.我正在使用SQL Server for PHP 2.0(VC6).以下查询工作,并Order在SQL Server Management Studio中执行时返回表中的所有订单.
SELECT * FROM "db_name"."dbo"."Order" (also tried using brakets [] around table name)
Run Code Online (Sandbox Code Playgroud)
在PHP中,我收到以下错误:
[0] => Array
(
[0] => IMSSP
[SQLSTATE] => IMSSP
[1] => -35
[code] => -35
[2] => Invalid type
[message] => Invalid type
)
Run Code Online (Sandbox Code Playgroud)
此查询在PHP代码中适用于数据库中的所有其他表,db_name它只适用于表Order,这是正确的表名.我试过双引号,矩形括号,没有引号/括号等等无济于事.有谁知道如何解决这个问题?
**更新:
我找到了解决方案.请查看修复或解决方法的其中一个答案.
我正在尝试在我们的发票 PDF 文件上打印 Paypal 交易 ID。你能从$orderSales_Order 的一个实例中提取这些信息吗?
我确实找到了一些带有 paypal_ 前缀的数据库表,但它们都是空的,即使我们的安装中有一个真正的 Paypal 交易订单。有任何想法吗?
除了视图文件的位置之外,使用之间有什么区别(我在视图文件中使用这些调用用于多个视图文件中使用的小HTML代码)
echo $this->render('some_view_file', false)vs echo $this->element('some_view_file')?
我已经使用了$this->element()一段时间了,因为我读过的所有教程和指南都使用了这种方法,但我的元素文件夹中有太多文件用于不同的控制器.我最近发现我可以使用$this->render()并将视图文件保存在各自的文件夹中app/view/controller_name,这使得文件组织更容易,更清晰.
我知道关于502 Bad Gateway的帖子很多,但是我还不能解决这个问题。我正在使用Docker Compose为Nginx和PHP-FPM创建单独的容器。
错误,我在浏览器中加载PHP文件(HTML文件可以正常渲染):
tc-web | 2018/01/22 19:22:46 [error] 5#5: *4 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: localhost, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "localhost:8080"
tc-web | 172.18.0.1 - - [22/Jan/2018:19:22:46 +0000] "GET /info.php HTTP/1.1" 502 575 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
Run Code Online (Sandbox Code Playgroud)
我尝试使用Unix套接字等对各种配置进行调整长达数小时,但PHP文件仍然出现502错误。您能找出问题所在吗?
这是所有必需的文件。
docker-composer.yml:
version: '3'
services:
web:
build:
context: ./docker/nginx
image: tc-web:0.1.0
container_name: tc-web
volumes:
# test files
- ./temp.html:/var/www/html/index.html
- …Run Code Online (Sandbox Code Playgroud) 我有
echo <a href=\"javascript:;\" onClick=\"window.open('". $link ."','no','scrollbars=yes,width=550,height=400')\" >View report</a>
Run Code Online (Sandbox Code Playgroud)
$ link包含敏感信息,所以我想知道当你在浏览器上"查看源代码"时,是否有一种简单的方法可以防止此链接显式出现.href的任何替代方案都可以.我只需要给用户一个选项,在他提交一些数据后点击并查看他的处理结果.我希望在提交处理后尽快避免自动弹出窗口.
更新:所以$ link是一个包含用户ID和密码的GET URL ..它现在是内部的,所以很好,但我想将来把它放在我们的在线服务器上.我是PHP的新手,所以这可能不是在不久的将来,因为我不太了解需要为互联网上的实时网站实现的安全功能.现在,似乎利用数据库将是最好的方式.如果我错了请纠正我,拜托,并感谢所有人的支持!
所以,我想最终为XML创建一个DOM对象,但是,$ xml_dom似乎是空的.var_dump显示对象(DOMElement)#3(0){}.$ xml_simple很好.我在这做错了什么?
$get_url_report = 'http://...'; // contains well-formatted XML data
$xml_simple = simplexml_load_string(file_get_contents($get_url_report));
$xml_dom = dom_import_simplexml($xml_simple);
Run Code Online (Sandbox Code Playgroud) 当我按订单号加载订单时,返回的数组包含两次相同的项目。
$order = Mage::getModel('sales/order')->loadByIncrementId(12345);
$orderItems = $order->getItemsCollection();
Run Code Online (Sandbox Code Playgroud)
如果订单包含一个项目,那么,count($orderItems)将是 2 并且每个数组索引中的内容将是相同的。这是怎么回事?
我也尝试了以下方法来加载订单,但它甚至不适用于 Magento Enterprise 1.11.2.0。
$order = Mage::getModel('sales/order')->load(12345);
$orderItems = $order->getAllItems()
Run Code Online (Sandbox Code Playgroud) php ×11
magento ×4
amazon-ec2 ×1
backtracking ×1
caching ×1
cakephp ×1
cron ×1
database ×1
docker ×1
dom ×1
href ×1
hyperlink ×1
inventory ×1
layout ×1
linux ×1
mysql ×1
nginx ×1
performance ×1
preg-replace ×1
search ×1
simplexml ×1
sql ×1
sql-server ×1