标签: execution

PHP工作流程 - 执行函数的顺序

我想知道PHP引擎解释函数声明的顺序.我不知道为什么某些PHP显示调用未定义的函数致命错误和somethimes解释器看到函数没有问题.

我们假设我的代码是:

echo theRest(4,3);

function theRest($a, $b)
{
   return $a % $b;
}
Run Code Online (Sandbox Code Playgroud)

看到调用后声明了该函数,这是正常的.这意味着PHP在解释之前读取整个文件?

另一个例子:

echo theRest(4,3);

include('test2.php');
Run Code Online (Sandbox Code Playgroud)

test2.php

function theRest($a, $b)
{
    return $a % $b;
}
Run Code Online (Sandbox Code Playgroud)

这里我得到致命错误:调用未定义函数theRest().这是为什么?

php workflow execution

14
推荐指数
2
解决办法
5315
查看次数

Gradle的术语评估与执行之间的区别

我是Gradle构建工具的新手,现在我正在阅读用户指南,但无法完全理解评估和执行阶段之间的区别.

在配置阶段,项目对象已配置并且已创建DAG,但我们有afterEvaluate,那么在此处评估什么?评估任务依赖性还是什么?

evaluation build execution gradle

13
推荐指数
1
解决办法
7174
查看次数

Googlebot何时执行javascript?

我在多个域上有一些单页Web应用程序,它们严重依赖于javascript/ajax来获取和显示内容.基于日志和搜索结果,我可以告诉googlebot在某些域上运行javascript但在其他域上运行javascript.在某些情况下,它会将只有js可用的所有内容编入索引,而它甚至根本不会运行js.

任何人都可以告诉我googlebot如何决定运行什么js以及我是否可以通过任何方式让它在我的其他域上运行js?

PS:我知道通常我应该使用像服务器端渲染这样的东西,但我完全不依赖于搜索结果和排名,所以它并不值得努力.我只是很好奇googlebot是如何判断它是否应该运行js,如果有什么容易的话我可以做些什么来改变我的其他域名.

javascript ajax seo googlebot execution

13
推荐指数
1
解决办法
4493
查看次数

从Maven的Command Line Argument中跳过exec-maven-plugin

默认情况下,我的项目POM exec-maven-plugin, rpm-maven-plugin将被执行,这在本地编译/构建中是不需要的.

我想通过传递命令行参数来跳过这些插件执行,我尝试下面的命令跳过它们像普通的插件,但不起作用!

mvn install -Dmaven.test.skip = true -Dmaven.exec.skip = true -Dmaven.rpm.skip = true

plugins skip execution maven

13
推荐指数
3
解决办法
1万
查看次数

Php捕获最大执行时间错误

有没有办法在PHP达到最大执行时间时捕获致命错误并为用户提供更好的消息?

php time max execution

12
推荐指数
2
解决办法
3687
查看次数

覆盖内存映射的可执行文件时会发生什么?

在对我的一个问题发表评论后,我很想知道当一个人覆盖可执行文件时会发生什么.我需要检查一下我对此事的理解.

说我有/usr/bin/myprog.我运行它,因此操作系统加载/usr/bin/myprog,可能通过http://en.wikipedia.org/wiki/Memory-mapped_file#Common_uses.

无论出于什么原因,这个过程仍然留在内存中,我决定实际上已经修复了一个错误并且我会覆盖/usr/bin/myprog.

所以,据我所知:

  • 如果myprog已经加载了一个实例并且我替换了已经加载的文件myprog,那么该实例myprog是未修改的.
  • 如果我运行它的新实例myprog将使用新代码.

我对么?

但是,根据有关内存映射文件的文章,这种技术允许开发人员将文件的某些部分视为物理内存.

所以我看到了我如何理解事物的矛盾.如果真正只按需加载页面,那么假设myprog不是100%分页,这篇维基百科文章暗示将从磁盘上的文件加载新页面,该文件自加载原始图像后已更改.

但是,我很确定我的两个编译图像不会相同,并且每个文件的相关地址偏移量不相同.因此,假设发生这种情况,指令指针将会非常丢失......我非常确定操作系统不会将两个不同图像的一部分加载到内存中作为同一进程的一部分.

那么内存映射/请求分页的组合如何为程序的执行工作呢?覆盖该文件会在每个可执行文件的页面上触发页面错误,以确保它被加载到当前正在运行的进程中吗?

我做了一个快速的实验:

#include <stdio.h>
#include <unistd.h>

int main(int argc, char** argv)
{
    printf("Program resident...");
    while(1)
    {
        printf("??? Just notifying you I'm still here...\n");
        usleep(1000000);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以a)在运行时更换这个可执行文件,b)它的输出没有改变.

那么发生了什么?我特别感谢任何建议,我可以做些什么来看看会发生什么(Linux或Windows).

谢谢大家.

编辑:我所指的问题引发了这个问题:没有重启的升级 - 在实践中会发生什么样的问题?

另外,我知道这与编程无关,而是更新可执行文件的结果.然而,我仍然感兴趣,我想不出一个更好的地方来问它.

operating-system execution

11
推荐指数
2
解决办法
5573
查看次数

在MS Edge中启动JNLP文件

我有一个ASP.NET站点,它提供了用于启动Java Web Start应用程序的JNLP文件.我已将它们设置为标签中的hrefs <a>以下载它们.我从不同浏览器获得的行为有所不同:

  • IE11:自动启动
  • Firefox(45):自动启动
  • Chrome(48):从下载栏手动启动
  • Edge:从下载栏手动启动

Chrome是Chrome,我几乎放弃了希望,但Edge可以设置为启动JNLP文件而不是提供"打开/显示下载"栏吗?

jnlp execution launch java-web-start microsoft-edge

11
推荐指数
0
解决办法
3230
查看次数

执行和评估之间有什么区别?

我们说表达"评估"值和语句命令计算机"执行".但对我来说,似乎是相同的术语.C中的执行和评估有什么区别?

c evaluation execution

11
推荐指数
3
解决办法
1978
查看次数

使用setTimeout()的Javascript执行顺序

假设我有以下代码:

function testA {
   setTimeout('testB()', 1000);
   doLong();
}

function testB {
   doSomething();
}

function doLong() {
   //takes a few seconds to do something
}
Run Code Online (Sandbox Code Playgroud)

我执行testA().我已经读过Javascript是单线程的.testB()达到超时后1000毫秒后会发生什么?

我能想到的一些可能性:

  • testB()排队等待执行后doLong(),它调用的任何其他内容都已完成.
  • doLong()立即终止并testB()启动.
  • doLong()在被停止之前(自动地或在提示用户之后)被执行并且testB()被启动的时间稍长.
  • doLong()暂停,testB()开始.后testB()已完成,doLong()重新开始.

什么是正确的答案?它是依赖于实现还是标准的一部分?*

就我所知,这个问题类似但不一样.

您可以推荐任何可以更好地理解Javascript执行的链接,我们将不胜感激.

谢谢!

*是的,我知道并非所有浏览器都遵循标准:(

javascript execution multiple-browsers

10
推荐指数
1
解决办法
3520
查看次数

在MYSQL/PHP中设置最长执行时间

我有一个XML文档,有大约48,000个孩子(约50MB).我运行一个INSERT MYSQL查询,为每个子项创建新条目.问题是由于它的大小需要花费很多时间.执行后我收到了这个

Fatal error: Maximum execution time of 60 seconds exceeded in /path/test.php on line 18

如何将最大执行时间设置为无限制?

谢谢

php mysql execution

10
推荐指数
1
解决办法
6万
查看次数