Mongrel在windows 2003 服务器上以 service的方式运行时,经常会出现Errno::EINVAL (Invalid argument)类错误,一般在post数据的时候特别容易出现. 解决办法有以下几种.
1. 有个比较简单的解决办法,就是把start_form_tag改成form.这样的确很难再出现这个问题.
2. mongrel以console的方式来运行.
3. 重新定向stderr和stdout到某个指定的文件.
下面来说下,为什么会出现这个错误. 仔细观察下这些错误发生时的提示,比如有一个函数在里面 puts函数.
错误发生的更本原因也是这个函数.
这个函数在调用的时候,要拥到stderr,和stdout,但是这两个对象是pipe. 如果是控制台模式下,stderr,和stdout管道是一定存在,并且可以访问到的. 但是win32 services下面,是没有stderr和stdout的.所以调用puts函数必然出错.
各位可以试下,随便写个页面,里面放上puts函数,放到 win32,mongrel service模式下面去运行,就会出现Errno::EINVAL (Invalid argument)错误.
如果要根本上解决这个问题,最好的办法还是重定向 stderr,stdout. 可以在environment.rb中加入
STDOUT.reopen("c:\log\stdout.log") 日志路径随你们工程环境来修改. stderr的重定向代码也一样.就不多写了.
分享到:
- 2007-06-07 14:52
- 浏览 5335
- 评论(0)
- 论坛回复 / 浏览 (0 / 8314)
- 查看更多
相关推荐
OSError: [Errno 22] Invalid argument问题解决问题描述解决方法那么问题出在哪了?总结 问题描述 在做SSD目标检测算法的时候,在predict.py文件中遇到了这么一个报错的问题。 // ERROR Traceback (most recent call ...
### 彻底解决USB错误-device descriptor read/64, error -62 #### 错误现象分析 在遇到“usb 1-1: device descriptor read/64, error -62”这一错误时,通常意味着当尝试读取USB设备描述符时出现了超时的情况。...
多番查找发现: 原来是不符合Windows系统文件命名规则! 如下:1、 允许文件或者...解决办法。 替换掉这些特殊字符就好啦! python: title = title.replace('?', '').replace('*', '').replace(' ', '') 作者:dr
#include <errno.h> #include <assert.h> #include <string.h> #include <linux/i2c.h> /* This is the structure as used in the I2C_RDWR ioctl call */ struct i2c_rdwr_ioctl_data { struct i2c_msg __...
我也是,所以node-errno包含直接来自libuv的errno映射,因此您可以在代码中使用它们。 由errno: require ( 'errno' ) . errno [ 3 ] // → { // "errno": 3, // "code": "EACCES", // "description": ...
- 返回值:成功返回0,失败返回EOF,并将错误代码存入errno。 - 错误代码:EBADF表示参数`stream`不是一个已打开的文件。 3. **fdopen()** - 功能:将已存在的文件描述符转换为文件指针,便于使用标准I/O库进行...
本文档主要介绍了压测的要求和问题分析方法,特别关注了日志分析和错误码处理。 首先,进行MQTT通道压测时,设备端的日志级别应设置为DEBUG级别,这样在遇到问题时,可以获取到详细的日志信息,便于分析问题所在。...
Android Linux 开发 USB 错误-Device Descriptor Read/64, Error -62 解决方法总结 Android Linux 开发中,USB 设备的 descriptor 读取错误是一个常见的问题,特别是在使用 S3C6410 开发板时。这种错误通常表现为 ...
- 返回值:如果成功则返回0,否则返回-1,并设置errno。 ##### 3.3 alarm:在指定的时间后调用子例程 - 功能:设置一个定时器,在一定时间后执行指定的操作。 - 参数:需要指定等待的时间长度(秒)。 - 用途:常...
离线安装包,亲测可用
在MySQL中,创建外键关联时遇到"errno:150"错误,通常是由于数据类型不匹配、缺少索引或不正确的约束设置等原因导致的。以下是对这些常见问题的详细解释: 1. **数据类型不匹配**:外键字段与主键字段的数据类型...
- 错误检测:学会使用errno和perror来处理运行时错误。 - 异常处理:了解setjmp和longjmp进行非局部跳转的机制。 8. **并发编程**: - 进程与线程:理解进程间的通信和线程同步。 - 并发控制:信号量、互斥锁、...
在这个特定的压缩包 "mysql-connector-c-noinstall-6.0.2-win32.zip" 中,我们看到的是针对 Windows 32 位系统的 Connector/C 的非安装版本。这个版本无需通过传统安装程序来设置,而是可以直接解压并使用,方便...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
- 错误检测:使用errno和perror()函数处理运行时错误。 - 异常处理:通过setjmp()和longjmp()实现非局部跳转。 9. **位操作** - 位运算符:如按位与(&),按位或(|),按位异或(^),左移()和右移(>>). - 位字段:...
安装zabbix的时候报如下的错误,安装附件的包,可以解决以下报错问题。 Error Downloading Packages: libevent-devel-1.4.13-4.el6.x86_64: failure: Packages/libevent-devel-1.4.13-4.el6.x86_64.rpm from c6-...
通过这些练习和代码,学生可以深入学习和实践C/C++编程语言的关键概念和技术,提升编程能力,并为解决更复杂的编程问题打下坚实基础。同时,这些代码也可以作为复习和准备面试的参考资料,帮助理解并巩固C/C++语言的...
这门课程的作业解决方案包含了学员在学习过程中需要解决的各种编程问题的解答,通过这些实例,我们可以深入探讨C语言的关键知识点。 1. **C语言基础** - 变量与数据类型:C语言提供了基本的数据类型,如整型(int...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装