大家好,我想在linux下利用crontab设定每天凌晨2:00执行一个php脚本。该php脚本是从数据库中读取联系人信息,然后给联系人发邮件的。我通过IE浏览器访问该文件,可以正常发送邮件。但通过crontab执行该php脚本时,发现从数据库中读取的所有中文信息都为空。
请问大家有什么好的方法解决?

解决方案 »

  1.   

    0 2 * * *  (cd /home/hcht/sharera/sharera/project/tools/:./send_data.sh &)
    0 2 * * * (cd /home/sharera/sharera/sharera;/usr/local/bin/php Count_Log.php &)
      

  2.   

    使用绝对路径还是在查询mysql前没有最好编码问题
      

  3.   

    定时执行shell,用shell打开浏览器,用浏览器访问php???
      

  4.   

    PHP Lover 期待大家的加入!
    刚建立了一个  PHP Lover  群
    希望大家在一起开心交流PHP程序语言!
    群号码:54869225
      

  5.   

    你直接用你执行crontab的那个用户ssh上服务器,执行下php看看,应该是访问数据库的权限的问题.
      

  6.   

    wget 方式
    0 2 * * *  wget (你的URL)
      

  7.   

    通过日志文件查了一下,应该是编码的问题。我数据库编码是utf-8,发送的邮件编码是gb2312,我是通过iconv进行编码转换的。linux下不能用iconv进行编码转换吗?
      

  8.   

    编译的时候需要有--with-iconv参数。你可以用php -m|grep iconv看看有没有。
      

  9.   

    好像不需要编码转换吧(数据库可以完成这种转换的)!设定数据库连接的字符集就应该没问题了
    另外你是独立运行php文件还是使用wget访问php页面呢?
      

  10.   

    2的正解了,注意使用绝对路径,包括代码中的
    其次注意编码 set names xxx即可