php - Upstart 的 Yii 控制台给我错误

标签 php linux yii upstart

我正在尝试运行后端进程,但在让 Upstart 运行 yiic 命令时遇到了问题。

我正在使用xampp服务器

这是我的 Upstart 脚本:

#description     "Sample upstart"

#start on stopped
start on startup
stop on shutdown
respawn

chdir /opt/lampp/htdocs/my_project/protected
setuid mad
setgid www-data

script
    exec /opt/lampp/htdocs/my_project/protected/yiic project test
end script

所以当我这样做

sudo start test-monitor

Upstart 正在启动,它似乎正在向 yii 项目发出命令,因为 yii 日志文件中捕获了错误。 yii 日志文件中的错误是:

2014/10/31 15:06:44 [error] [worker.*] CDbConnection failed to open the DB connection: could not find driver
2014/10/31 15:06:44 [error] [worker.*] CDbConnection failed to open the DB connection: could not find driver
2014/10/31 15:06:44 [error] [worker.*] CDbConnection failed to open the DB connection: could not find driver
2014/10/31 15:06:44 [error] [worker.*] CDbConnection failed to open the DB connection: could not find driver

但是如果我手动执行命令:

./yiic project test

这工作正常。有人可以帮我吗?

这里是 yii 控制台命令的代码:

public function actionTest(){
        try{
          while(1){
             TestManager::_MonitorTest();
             usleep(1000000);
          }
        }catch(Exception $e){
              Yii::log( $e->getMessage(), 'error', 'worker.*');
        }    
    }

这是 Upstart 的日志文件(事实并非如此,因为我已经把 sudo 去掉了):

sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified

Mysql连接工作正常,我已经测试过

最佳答案

经过一番不懈的尝试和一些配置,我成功解决了这个问题。

由于服务器是xampp服务器,php安装在xampp中,因此存在环境问题。因此,php 的 bin 目录必须在 upstart 中引用,如下所示:

这是 Upstart 脚本的解决方案:

script
  exec /opt/lampp/bin/php -f /opt/lampp/htdocs/my_project/protected/yiic.php project test
end script

关于php - Upstart 的 Yii 控制台给我错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26669319/

相关文章:

php - 比较两个表的最快方法

python - docker py : PermissionError(13)

php - Yii 获取模型作为参数

C TUI 开发 - 帮助/教程?

linux - 一键部署需要哪些权限设置?

php - MySQL 与字符串数组类似

yii - 关于 Yii 中的 CRUD 生成器

php - 是否可以将自定义数据传递给 stripe checkout?

php - "Read More"按钮在 PHP、MySQL CMS 中停止工作

php - 检查远程文件是否存在的最快方法