标题:freeBSD下运行phpmsnclass产生msnbot.php: not found的解决办法 出处:BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog 时间:Mon, 12 Apr 2010 16:57:53 +0000 作者:ArthurXF 地址:http://www.bizeway.net/read.php/536.htm 内容: PHPMSNCLASS是一个使用PHP编写的跟MSN通讯的一个工具,很好用,这个工具可以建立MSNBOT,也就是MSN机器人。但是这个程序是针对Linux下的。所以有些设置跟freebsd不对,会造成无法正常运行。 网上很多的资料都没有给出正确的答案,这里我ArthurXF就来献丑了。 首先,需要下载: phpmsnclass V1.9 我的系统环境是FreeBSD,PHP5.2.12,Apache/2.2.14。这个安装过程可以按照readme来做, 做之前先检查如下php Extensions 是否已经安装: curl pcre pcntl mhash(支援MSNP15) mcrypt (支援MSNP15) bcmath (支援MSNP15) Apache 要装CLI 的模块,这个服务需要用到端口1863和443,别被防火墙挡了。 都安装好了,在执行下列步骤: 1. 建立下列目录:   mkdir /var/spool/msnbot   mkdir /var/spool/msnbot/log   mkdir /var/spool/msnbot/spool 2. 改变spool目录属性:   chmod 777 /var/spool/msnbot/spool   chmod o+t /var/spool/msnbot/spool 3.把msnbot.php, config.php and msn.class.php复制到 /var/spool/msnbot/目录下, 并且执行下面的命令:   chmod +x /var/spool/msnbot/msnbot.php 4. 编辑config.php文件,修改成你自己需要的设置,如发送人帐号,密码等 5.把msnbot.sh放到启动目录,Linux是/etc/init.d/下,Freebsd是/usr/local/etc/rc.d/下这样系统启动后就会自动执行msnbot.sh了. 这里要特别注意的。msnbot.sh要能执行,必须执行chown +x msnbot.sh。 6. 你可以按照需要修改msnbot.php. 7. 如果你需要发送信息给某人,就在/var/spool/msnbot/spool下建立一个文件名像'*.msn'的文件,文件格式第一行是TO:email1,email,第二行就是信息内容了。 以上是官方提供的正式安装步骤。 我按照这个步骤安装好了。执行./msnbot.sh start命令。 马上报错Starting MSN bot:msnbot/usr/local/etc/rc.d/msnbot.sh: /var/spool/msnbot/msnbot.php: not found 可是msnbot.php确实在/var/spool/msnbot/是存在的。查了N多资料,没解决问题。 直接执行php -Cq /var/spool/msnbot/msnbot.php没任何报错信息。 后来打开msnbot.php看到第一行是写的#! /usr/bin/php,问题就在这里了。 freebsd的php是在/usr/local/bin/php,把这个文件修改了。问题解决。msnbot启动正常。 用msnsendmsg.php测试吧,先修改这个文件的第一行,#! /usr/local/bin/php 然后执行php msdsendmsg.php 接收msn帐号 内容 执行成功后。在/var/spool/msnbot/spool/下就会多出一个.msn文件。里面保存的就是你刚才执行的信息。 等会msnbot执行到了,就会把信息发送出去了。 如果信息没收到,请到/var/spool/msnbot/log下,如果程序启动了,会有3个.log文件的。没有的话,则是没说明msnbot.php服务程序没启动。请按照上面的步骤检查。 程序发送msn信息步骤。 编写一个PHP程序,把接收到的信息,保存到/var/spool/msnbot/spool/目录下,保存成一个*.msn文件,切记一定要把那个*.msn文件的属性改成666,即程序中一定要执行chmod($strFilename, 0666);语句。这样就可以正常发送MSN数据了。 本文是ArthurXF倾情奉献,转载请注明出处,谢谢。 Generated by Bo-blog 2.0.3 sp1