- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在我使用 nginx 和 php-fpm 之前,我使用的是 Apache,所以当我只想让我的一个 cron 作业不受时间执行限制地运行时,我在我的 PHP 代码中使用了这些行:
set_time_limit(0);
ini_set('max_execution_time', 0);
但是我从Apache迁移到nginx后,这段代码就失效了。我知道更改 nginx.conf
以增加最长执行时间的方法。
但我想用 php 代码处理这个问题。有办法吗?我只想指定一个可以不受时间限制地运行 PHP 代码的文件。
最佳答案
试试这个:
使用 Nginx 增加 PHP 脚本执行时间
您可以按照以下步骤增加超时值。 PHP 默认为 30 秒。 :
如果您想将 php 脚本的最大执行时间限制从 30 秒(默认)更改为 300 秒。
vim /etc/php5/fpm/php.ini
设置...
max_execution_time = 300
在 Apache 中,将 PHP 作为上述模块运行的应用程序就足够了。但在我们的例子中,我们需要在另外 2 个地方进行此更改。
PHP-FPM 的变化
只有在您之前已经取消注释 request_terminate_timeout 参数时才需要这样做。它默认被注释,并取 php.ini 中的 max_execution_time 的值
编辑...
vim /etc/php5/fpm/pool.d/www.conf
设置...
request_terminate_timeout = 300
Nginx 配置的变化
将 example.com 的时间限制增加
vim /etc/nginx/sites-available/example.com
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 300;
}
如果你想增加服务器上所有站点的时间限制,你可以编辑主 nginx.conf 文件:
vim /etc/nginx/nginx.conf
在 http{..} 部分添加以下内容
http {
#...
fastcgi_read_timeout 300;
#...
}
重新加载 PHP-FPM 和 Nginx
不要忘记执行此操作,以便您所做的更改生效:
service php5-fpm reload
service nginx reload
或者试试这个
fastcgi_send_timeout 50;
fastcgi_read_timeout 50;
fastcgi 有它自己的一组超时和检查,以防止它在锁定的进程上停止。例如,如果您将 php 的执行时间限制设置为 0(无限制)然后不小心创建了一个无限循环,它们就会介入。或者,如果您正在运行除 PHP 之外的其他一些应用程序,这些应用程序没有任何自己的超时保护并且失败了。
关于php - 设置 ini max_execution_time 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22658908/
PHP 解释器是否首先加载它找到的 php.ini(根据其搜索算法)并停止。还是加载整个 php.ini 层次结构并合并设置? 因此,如果我需要覆盖单个网站的单个设置 - 我需要指定所有值,还是只需要
关于以下形式的归并排序算法: public static void merge(int [] a, int ini, int med, int end){ int [] b = new
如何从另一个 ini 文件解析变量? 在下面的例子中,我想解析 var_a来自 original_configuration.ini并在 new_configuration.ini 使用它 origi
我无法获取 ini 文件中数组的值。 这是 ini 文件: module.name = Core module.version = 1 module.package = 'Core Modules'
编辑 eclipse.ini (OS Ubuntu 12.04 LTS) 后无法保存。如何在 eclipse.ini 文件或任何其他 .ini 文件中进行更改? Eclipse 和 Scala IDE
我目前正在使用 Zend Framework 从事个人项目。我一直无法获得良好的搜索结果,也没有问过我的同事:-/。 我在工作中经常使用 Ant/Phing,你有一个叫做“属性文件”的东西,它们有这个
我想提高我的 mysql 性能。所以我尝试使用 my-large.ini。 首先,我将该文件重命名为 my.ini。然后我在 [mysqld] 下添加了以下行 port=3306 basedir="C
我似乎遇到了一个问题,但感觉它不是一个问题,但我看不到解决方案,所以也许其他人可以。 我正在使用 ini 文件来存储我正在编写的包的配置详细信息。此 ini 文件包含与其他 ini 文件相关的部分。
我正在使用 Java API ini4j解析 ini 文件。我的原始 .ini 文件具有以下键值格式: [section] key=value = 字符周围没有空格。 但是在使用 ini.store(
我有写一段 ini 文件的函数: boolean saveSSVar() { using boost::property_tree::ptree; ptree pt; pt.p
最近我在 ubuntu 16.04 机器上安装了 lamp 和 php-xdebug。我注意到现在我有以下文件 /etc/php/7.0/apache2/conf.d/20-xdebug.ini /e
我正在尝试为我的 Pyramid 项目配置 SQLAlchemy Alembic,我想使用我的 developement.ini(或 production.ini)来配置 Alembic。是否可以指定
我的 FlashBuilder 实例在进行一些繁重的分析时不断崩溃。 必须说,我也在生成对象分配跟踪(全部,而不是默认的 10 个)并大量遍历 GC 路径。 但是我有一种预感,我可以通过允许 Flas
我是网络世界的新手,想知道当服务器默认 php.ini 文件时,自定义 php.ini(我们手动创建并添加到每个目录) 文件,.user.ini 文件由服务器加载/读取? 根据我的概念,这些文件在每次
在创建组件时,我在Joomla的组件目录结构中看到了两个语言文件:.ini和 sys.ini .有什么不同? 最佳答案 虽然@Lodder 本质上是正确的 sys.ini文件实际上有 3 个角色。 它
是否可以加载一个自定义的 .ini 文件来覆盖分发包中乱七八糟的 php.ini? 在 unix 系统上,我相信这可以通过在 /etc/php.d 中放置额外的 ini 文件来实现,但我不确定 IIS
如何在另一个 php.ini 文件中包含一个 php.ini 文件? 最佳答案 我认为您不能从主 php.ini 文件中“包含”.ini 文件。 不过,一个可能的解决方案可能是在编译 PHP 时在配置
您好,我有一个代码,其中使用了几个 INI 文件进行预定义设置。我可以在 INI 文件中使用#ifdef 吗?如果可以,我该如何使用它?如果不是,我如何限制我对 INI 文件的代码编译。例如我有一个宏
下面的代码片段可以编辑 ini 文件,但会将所有 ini 条目替换为小写: config = ConfigParser.RawConfigParser() config.read("test.ini"
我按照 this article 中的说明安装并运行 drush :我的服务器是cloudlinux和cagefs.drupal7 Drush 使用全局 php.ini 文件而不是 drish.ini
我是一名优秀的程序员,十分优秀!