wordpress3.5+在线安装插件或者主题时,报错:Warning: touch() [function.touch]: Utime failed...的解决

本文介绍了解决WordPress3.5安装主题时遇到的权限问题。通过为IIS来宾用户授予临时文件夹的修改权限,成功解决了安装过程中出现的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


安装好wordpress 3.5以后,选中一个主题,开始安装,结果出现以下错误:


PHP Warning: touch() [function.touch]: Utime failed: Result too large in E:\XXXX\www\wp-admin\includes\file.php on line 179


The package could not be installed. PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file 'C:\WINDOWS\TEMP/akismet.tmp'


开始以为是PHP.INI中的文件或内存限制值过低,于是调整后重启IIS,问题依旧,搜索谷歌百度没有解决办法。

后来仔细看错误提示,猜测是不是文件夹权限问题导致的。果不其然!


右键“C:\WINDOWS\TEMP”,切换到“安全”选项卡,添加IIS来宾用户(添加--高级--立即查找--选择IUSR_开头的),给予其修改读取的权限。再重新安装主题,问题解决。


问题产生是由于WINDOWS下,IIS来宾用户默认没有“C:\WINDOWS\TEMP”的权限所造成,wordpress 3.5发现了这个问题,希望给各位一个参考。





<think>好的,我现在需要解决用户遇到的编译错误:“timesr.c: undefined reference to &#39;_times&#39;”。用户提供的引用资料里有关于类似错误的解决方法,我得仔细分析可能的原因,并给出解决方案。 首先,用户提到引用[2]中解释了“undefined reference to”错误通常是由于链接找不到函数实现。这可能是因为没有链接对应的库或者源文件。同样,引用[3]提到检查静态库是否包含所需的符号,比如使用nm命令查看。因此,这个错误可能也是缺少链接某个库。 接下来,我需要考虑函数`_times`的来源。在C标准库中,`times()`函数通常定义在`sys/times.h`头文件中,属于POSIX标准,用于获取进程间。这个函数可能在`libc`中,但有候可能需要链接其他库,比如`librt`或`libpthread`,尤其是在某些系统上。 根据经验,类似的间函数如`clock_gettime`需要链接`-lrt`(参考引用[1]的问题),所以`times()`可能也有类似的需求。但不同系统可能有差异,比如在Linux上可能需要`-lrt`,而其他系统可能不需要。用户需要检查他们的系统环境。 另外,用户是否在代码中正确包含了头文件`sys/times.h`?如果没有包含,编译器可能不会报错,但链接会找不到定义。不过通常头文件缺失会导致编译错误,而不是链接错误,所以更可能的是链接库的问题。 可能的解决步骤: 1. 确保代码中包含了`#include <sys/times.h>`。 2. 在编译命令中添加链接选项`-lrt`,例如`gcc timesr.c -o timesr -lrt`。 3. 如果仍然报错,检查系统文档,确认`times()`所在的库,可能需要尝试其他库如`-lpthread`。 4. 使用`nm`命令在标准库中查找`_times`符号是否存在,例如`nm /usr/lib/libc.a | grep _times`,确认函数是否真的在预期的库中。 5. 如果用户使用的是非标准库或自定义实现,确保对应的源文件或库被正确编译和链接。 此外,用户需要注意函数名称可能因编译器或平台而有差异。例如,`_times`可能是内部符号,用户代码中是否调用了正确的函数名?例如,是否应该使用`times`而不是`_times`?这需要检查代码中的函数调用是否正确。 总结可能的原因: - 缺少链接必要的库(如`-lrt`)。 - 函数名拼写错误,实际函数名是`times`而非`_times`。 - 系统不支持`times()`函数,需要替换其他间函数。 接下来,我需要将这些分析整理成步骤清晰的解决方案,并参考用户提供的引用资料来支持建议。</think>关于编译错误`timesr.c: undefined reference to &#39;_times&#39;`的解决方案如下: ### 逐步排查与解决方法 1. **检查函数声明与头文件** - 确保代码中已正确包含`sys/times.h`头文件: ```c #include <sys/times.h> ``` - 确认代码中调用的函数名是`times()`而非`_times()`(通常下划线是编译器内部添加的符号)。 2. **添加必要的链接库** - `times()`函数在POSIX标准中可能需要链接`libc`以外的库。尝试在编译命令末尾添加`-lrt`(实库): ```bash gcc timesr.c -o timesr -lrt ``` - 若仍报错,尝试追加`-lpthread`(某些系统将间函数放在线程库中): ```bash gcc timesr.c -o timesr -lrt -lpthread ``` 3. **验证符号存在性** - 使用`nm`命令检查标准库是否包含`times`符号: ```bash nm /usr/lib/libc.a | grep times nm /usr/lib/librt.a | grep times ``` - 若未找到,说明系统可能未提供该函数,需改用其他间函数(如`clock_gettime`)[^1][^2]。 4. **检查函数弃用状态** - 部分老旧函数(如`times()`)可能在新系统中被弃用。建议替换为`clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts)`,此需链接`-lrt`[^1]。 ### 示例修正代码 ```c #include <sys/times.h> #include <stdio.h> int main() { struct tms buf; times(&buf); // 正确函数名为times,非_times printf("User time: %ld\n", buf.tms_utime); return 0; } ``` 编译命令: ```bash gcc timesr.c -o timesr -lrt ``` ### 扩展建议 - 若问题依旧,检查编译器的文档或系统手册(`man times`)确认函数依赖。 - 静态库场景下,需确保库文件(`.a`)包含`times`的实现,可通过`nm libxxx.a | grep times`验证[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值