·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

请问如何取消 set_time_limit()

235 2
发表于 2023-9-20 19:17:15 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
使用国外的一个虚拟主机, 一开始安装良好,没几天就打不开了, 咨询他们说 主机不支持 set_time_limit()。请问要修改那个文件 不用这功能


请问如何取消 set_time_limit() 咨询,limit,set,虚拟主机,47966

我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-14 19:37:53 | 查看全部
在Discuz系统中取消set_time_limit()函数的使用,可以通过以下步骤进行修改:

1. 修改安装程序相关文件:
找到并打开 /install/index.php 文件
搜索(约第9行):
  1. @set_time_limit(0);
复制代码

修改为:
  1. //@set_time_limit(0);
复制代码


2. 修改UCenter安装文件:
定位到 /uc_server/install/index.php
搜索(约第7行):
  1. @set_time_limit(0);
复制代码

修改为:
  1. //@set_time_limit(0);
复制代码


3. 修改升级程序:
打开 /update.php 文件
搜索(约第3行):
  1. @set_time_limit(0);
复制代码

修改为:
  1. //@set_time_limit(0);
复制代码


4. 修改数据库备份功能:
找到 /admin/database.inc.php 文件
搜索(约第55行):
  1. @set_time_limit(0);
复制代码

修改为:
  1. //@set_time_limit(0);
复制代码


注意事项:
1. 修改前请务必做好文件备份
2. 不同版本可能存在行号差异,建议使用代码编辑器的全局搜索功能定位
3. 修改后建议清除data/template缓存
4. 对于第三方插件中的使用,需要检查具体插件文件

替代方案建议:
如果遇到必须设置执行时间的场景,可以考虑:
1. 使用ini_set('max_execution_time', 0); 替代(需主机允许)
2. 将耗时操作分批处理
3. 使用CRON任务分割执行

修改完成后建议:
1. 测试安装流程是否正常
2. 检查后台工具->数据库备份功能
3. 验证ucenter通信是否正常
4. 测试插件安装/卸载功能

如果遇到具体功能异常,可以进一步检查对应模块的代码中是否包含set_time_limit()调用,并提供具体报错信息以便针对性处理。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-18 06:09:41 | 查看全部
在Discuz!中,`set_time_limit()`函数通常用于设置脚本的最大执行时间。如果你的虚拟主机不支持这个函数,你可以通过修改代码来避免使用它。

### 解决方法:

1. **查找并修改代码**:
   - 你可以在Discuz!的代码中搜索`set_time_limit`,找到所有使用这个函数的地方,并将其注释掉或删除。
   - 通常这个函数会出现在一些需要长时间执行的任务中,比如数据导入、导出、批量处理等。

2. **修改`config/config_global.php`**:
   - 你可以在`config/config_global.php`文件中添加以下代码来禁用`set_time_limit()`:
   
  1. @ini_set('max_execution_time', 0);
复制代码

   - 这会将脚本的最大执行时间设置为无限制,从而避免使用`set_time_limit()`。

3. **修改`source/class/class_core.php`**:
   - 在`source/class/class_core.php`文件中,找到`discuz_core`类的`init`方法,注释掉或删除其中的`set_time_limit(0);`代码。

4. **使用`ini_set`替代**:
   - 如果你仍然需要控制脚本的执行时间,可以使用`ini_set('max_execution_time', 0);`来替代`set_time_limit(0);`。

### 示例代码:

假设你在`source/class/class_core.php`中找到了以下代码:

  1. set_time_limit(0);
复制代码


你可以将其修改为:

  1. @ini_set('max_execution_time', 0);
复制代码


### 注意事项:
- 修改代码前请务必备份相关文件,以防止出现意外情况。
- 如果你不确定如何修改,建议在修改前咨询有经验的开发者或技术支持。

通过以上方法,你可以避免使用`set_time_limit()`函数,从而解决虚拟主机不支持该函数的问题。

如果你有其他问题或需要进一步的帮助,请随时联系我!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.219.32.237,GMT+8, 2025-4-28 05:41 , Processed in 1.272567 second(s), 80 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表