如何从框架内部使用 PECL 扩展
How to use PECL extension from inside of framework
我正在使用 PECL 扩展 trader
它在 ./src/MyBundle/Command/MyCommand.php 中运行,无需任何安装或包含。
function calcByCode()
\trader_ma($array, 5, TRADER_MA_TYPE_EMA);
}
但是在控制器内部
./src/MyBundle/Controller/MyController.php
public function indexAction()
{
\trader_ma($array, 5, TRADER_MA_TYPE_EMA);
//(or trader_ma($array, 5, TRADER_MA_TYPE_EMA);)
return $this->render('AcmeTopBundle:Default:index.html.twig');
}
returns 像这样的错误
Fatal error: Call to undefined function TopBundle\MyController\trader_ma()
如何在 Symfony2 框架的控制器中使用 PECL 扩展?
主要是扩展没有安装正确。要知道扩展是否安装正确,请对 cli 和 web ( cgi / fpm ) 使用 phpinfo。
扩展有可能只在 php.ini 中为 PHP CLI 而不是为 fpm/cgi(网络服务器)启用。因此,请确保在适当的 php.ini 文件中启用交易模块。
它似乎正在为您的 class 在命名空间中寻找函数。由于它在普通函数中工作,这似乎证实了这一点。
undefined function TopBundle\MyController\trader_ma()
尝试告诉它在命名空间 root 中查找
public function indexAction()
{
\trader_ma($array, 5, TRADER_MA_TYPE_EMA);
return $this->render('AcmeTopBundle:Default:index.html.twig');
}
我正在使用 PECL 扩展 trader
它在 ./src/MyBundle/Command/MyCommand.php 中运行,无需任何安装或包含。
function calcByCode()
\trader_ma($array, 5, TRADER_MA_TYPE_EMA);
}
但是在控制器内部
./src/MyBundle/Controller/MyController.php
public function indexAction()
{
\trader_ma($array, 5, TRADER_MA_TYPE_EMA);
//(or trader_ma($array, 5, TRADER_MA_TYPE_EMA);)
return $this->render('AcmeTopBundle:Default:index.html.twig');
}
returns 像这样的错误
Fatal error: Call to undefined function TopBundle\MyController\trader_ma()
如何在 Symfony2 框架的控制器中使用 PECL 扩展?
主要是扩展没有安装正确。要知道扩展是否安装正确,请对 cli 和 web ( cgi / fpm ) 使用 phpinfo。
扩展有可能只在 php.ini 中为 PHP CLI 而不是为 fpm/cgi(网络服务器)启用。因此,请确保在适当的 php.ini 文件中启用交易模块。
它似乎正在为您的 class 在命名空间中寻找函数。由于它在普通函数中工作,这似乎证实了这一点。
undefined function TopBundle\MyController\trader_ma()
尝试告诉它在命名空间 root 中查找
public function indexAction()
{
\trader_ma($array, 5, TRADER_MA_TYPE_EMA);
return $this->render('AcmeTopBundle:Default:index.html.twig');
}