我可以在Chrome Devtools Network标签中保存特定请求吗?
这对我来说非常有用,因为我们公司使用网络抓取来从外部网获取信息,而我能做的最多就是记录(使用rec按钮)为达到特定信息而做出的所有请求,如果我想要将所需的请求/响应保存在文件中以便稍后进行分析,我所能做的就是将它全部保存为.har文件,它可以保存所有内容,包括每个资源(图像,css,js等),填充文件为了我的目的,有很多无用的信息.
另一种方法是复制和粘贴使用Documents + XHR + Other过滤的请求,我不喜欢它,因为它没有像HAR文件那样以JSON格式构建.
我正在尝试从CLI运行代码,正如CI文档中所述,但由于某些原因,可能因为使用HMVC扩展,它不会进入指定的控制器.
我没有在HMVC扩展站点中找到关于CLI执行的其他文档.
有谁知道如何处理这个?
这里的代码:
/**
* application/controllers/Cron.php
* This is just a wrapper controller to use an HMVC module using the basic CLI syntax for CI
*
*/
class Cron extends MX_Controller
{
public function generatepdfs($start_date = null, $end_date = null)
{
echo 'Not reached'; exit;
$this->load->module('facturation/documentscontroller');
$this->documentoscontroller->generatepdfs($start_date, $end_date);
}
}
Run Code Online (Sandbox Code Playgroud)
无论我是从文档根运行它:
php index.php cron generatepdfs
Run Code Online (Sandbox Code Playgroud)
或这个:
/usr/bin/php -f /home/user/public_html/index.php cron generatepdfs
Run Code Online (Sandbox Code Playgroud)
它不会显示"未到达".
如果我从浏览器运行它,它会这样做.
这些是输出到控制台的一些错误:
无法找到指定的类:Session.php
我在application/libraries/session/MY_Session.php中有一个覆盖的Session库MY_Session,它在浏览器中完美运行.如果我将此文件向上移动一个目录,则此错误将不会再次显示在控制台中,但它在浏览器中不起作用.它是自动加载的方式.
我根本不喜欢的解决方法:在两个位置复制相同的文件.
下一个错误:
PHP致命错误:第196行/home/mysite/public_html/system/core/Common.php中找不到类"CI_Preferencias"
我有一个名为Preferencias的自定义库,它也是自动加载的,在application/libraries/Preferencias.php中
同样,这在浏览器中完美运行.但是,从CLI开始,它似乎搜索不存在的CI_Preferencias库.如果我将其重命名为CI_Preferencias,并自动加载"CI_Preferencias",CI将从CLI搜索名为CI_CI_Preferencias的类.
我不确定我是否遗漏了某些内容,或者CI中存在实际错误,或者HMVC模块正在弄乱它.
谁能帮助我?这让我抓狂,因为我必须使用从cronjobs安排的CLI操作,我觉得完全迷失了.
我们有一个ERP,每月两次,过去两周的所有订单都需要收费.为了让我们的客户选择所有这些订单,按下"生成账单"按钮,每个发票一次完成一系列连续的ajax http请求,同时弹出消息通知他们该过程.
首先,所有的发票都是在DB中按顺序生成的,正如前面提到的那样,一旦完成这个过程,那么轮到生成PDF文件了.这也是顺序ajax请求.
这是好的,只要用户保持窗口不变.它们离开该页面或关闭它,整个过程,如果有许多发票要生成,可能需要几分钟才能停止.
如果在中间停止进程,则可能会生成许多没有生成PDF文件的发票.这一点至关重要,因为当他们发送所有要打印的发票时,如果必须动态生成PDF内容并将其发送到打印机,则此操作需要做更多工作,而不是从现有文件中读取内容.
我可以更改流程,以便在生成一张发票后,下一步操作是生成其文件,依此类推.但我想知道是否有某种方法可以通过system(),exec()等方式将进程发送到后台,并在进程完成后在同一个Web应用程序中收到通知,无论用户是否决定离开结算页面做其他任务.
我需要使用mPDF生成发票,并且它们都将具有页眉,页脚和覆盖整个页面的相同背景图像。
我在网上看到了其他解决方案,但没有一个对我有用。
这些尝试是几次,所有这些都会导致失败(使用图像时图像不显示,50 *错误或图像覆盖了部分内容):
1-使用外部CSS文件并将其作为CSS内容注入
$pdf = new mPDF('es', 'A4', 0, '', 5, 5, 0, 0, 0, 0, 'P');
$pdf->useSubstitutions=false;
$pdf->setAutoTopMargin = 'stretch';
$pdf->SetDisplayMode('fullpage');
$css = file_get_contents('./styles.css');
$cabecera = file_get_contents('./header.html');
$cuerpo = file_get_contents('./body.html');
$pie = file_get_contents('./footer.html');
$pdf->SetHTMLHeader($cabecera);
$pdf->SetHTMLFooter($pie);
$pdf->WriteHTML($css, 1);
$pdf->WriteHTML($cuerpo, 2);
$pdf->Output();
Run Code Online (Sandbox Code Playgroud)
以及styles.css文件:
body {
background-image: url('background_300dpi.png') ;
}
Run Code Online (Sandbox Code Playgroud)
这将引发超时错误。如果我使用低分辨率图像背景,则可以使用,但会破坏我的布局。
2-尝试使用SetDefaultBodyCSS设置背景图像
$pdf = new mPDF('es', 'A4', 0, '', 5, 5, 0, 0, 0, 0, 'P');
$pdf->useSubstitutions=false;
$pdf->setAutoTopMargin = 'stretch';
$pdf->SetDisplayMode('fullpage');
$cabecera = file_get_contents('./cabecera.html');
$cuerpo = file_get_contents('./cuerpo.html');
$pie = file_get_contents('./pie.html'); …Run Code Online (Sandbox Code Playgroud)