最近在用php写的svnmanager,但是发现里面的exec函数全部不执行,而且也没有错误提示,在网上找了很久也没有适合的答案,随便写了一个exec的测试程序 ?php exec( "mkdir c:/test ",$out); echo($out); echo "别说我啥都不写 "; ? 输出结果为 "array别说我啥
最近在用php写的svnmanager,但是发现里面的exec函数全部不执行,而且也没有错误提示,在网上找了很久也没有适合的答案,随便写了一个exec的测试程序
exec( "mkdir c:/test ",$out);
echo($out);
echo "别说我啥都不写 ";
?>
输出结果为 "array别说我啥都不写 ",而没有在c盘建立一个test的文件夹,所用的环境为php5,apache2,请问应该如何修改或配置.
真的困扰我很久了,希望大虾们不吝赐教....
可是在svnmanager里确实有这样地语句,而且也确实好使,不知道为什么在我的机器上不好使
很少有人把php放在windows服务器上面来运行的,php里面有些函数是只支持linux的.不是所有的都可以在windows上面用的!
瓦靠好使了,难道就是斜杠的问题。。。,晓得了,谢谢大虾米
IIS+PHP下运行exec 首先要给php读cmd.exe的权限(就是要给cmd.exe 安全里面添加上 internet来宾用户权限) 不然会出错
apache下不知道是以什么权限运行的 不知道会不会也是权限的问题
我也不知道为什么mkdir c:/test不行,反正说明exec函数执行了我就挺高兴,另外exec的原型是exec(string command,$ar,$status)如果status的值是1说明没运行程序,如果是0说明程序运行成功
我知道了,是路径中间不能有空格,不然就会出现 "c:/program "不是程序或什么批处理什么的错误,希望看到这个帖子的朋友能了解
我发现执行外部命令的时候好多不能执行(因为我都是以root安装的),运行whoami的结果是nobody,我怎样才能以root用户来运行这个命令呢??修改配置文件 php.ini 把exec的执行权限放开!
里面你要优化的是每一个访问占用数据库链接的时间。
0.1秒释放和0.01秒释放是完全不同的。
另外,考虑创建链接的消耗,如果并发达到一定程度需要考虑连接池。
不知道你的是什么需求,但是数W个同时访问,这个还是有点吓人。
至于其他办法,什么memcached什么的,那根本就是瞎扯淡。
共享内存,守护进程,操作锁,这样的东西可能对你有帮助,但是要自己开发的话,代价很高。
数据库链接是个瓶颈,但是通过连接池,减小每个链接的使用时间,还是能完成你的需求的。不过每秒数万链接,这个还是不现实。
内存表会比普通表快很多(数据更新及某些无法缓存的情况),缩短连接时间,并且没有普通表的未缓存时的慢现象,会让你的应用更稳定高效。
内存表,我现在用的就是直接的那种表。
已经修改了。不知道下次高峰期会怎么样。
反正统计还是有较大误差,zzzzz~~~~。
目前的方案是网页中 每隔 50秒发送一次在线标识请求,这个请求会让数据库update 他的这个用户的最后响应时间,就这一句。
然后每隔5分钟会发送一次清除session表中的离线请求。
这些发送请求的代码是用Ajax写在SWF游戏所在页面的。
如果同时有1000个用户同时这么发送,我担心的是那个 50秒发送一次的。
因为5 分钟发送一次的,那个PHP文件会先检查一个txt文件的创建时间里面的分 date("i") 是否与当前时间一致,如果一致就什么都不做,如果不一致就重新写这个文件,并且执行该执行的,就是说保证了服务器只每1分钟只做一次那个处理。
但是那个50秒一次的请求有点可怕。。。。每50秒每个在线用户一个update 语句。。。。
来源:足球直播