PHP Pthread类中的Yii框架上下文

时间:2015-09-11 07:02:13

标签: php yii php-pthread

我正在PHP Pthreads工作。我写了一个继承了" Thread"类。此类无法识别Yii(1.x)框架上下文。我不能使用任何Yii框架组件或模型。我确保线程类应该位于Yii框架的" import"中定义的可访问路径中。在配置中。

以下是我编写线程类的示例。

  <?php

    class MultiThreaded extends Thread {


            public function __construct(){

            }

            public function run(){
                       echo Yii::app()->basePath;
            }


    }

更新

这是Yii config中的导入器数组。

'import'=>array(
        'application.models.*',
        'application.components.*',
        'application.components.multithreaded-operations.*',
        'application.components.google_api_Lib.src.*',
        'application.controllers.*',
        'application.extensions.yii-mail.*',
        'application.extensions.*',
        'application.commands.*',

    ),  

我做错了吗?

由于

Arfeen

1 个答案:

答案 0 :(得分:0)

您需要在系统中安装pthread。

对于Wampp(Windows)

  1. 使用phpinfo()找出你的'PHP Extension Build'版本。您可以使用此功能 - http://localhost/?phpinfo=1

  2. 下载与您的php版本(32位或64位)和php扩展版本(当前使用的VC11)匹配的pthread。使用此链接进行下载 - http://windows.php.net/downloads/pecl/releases/pthreads/

  3. 提取拉链 -   将php_pthreads.dll移动到'bin \ php \ ext \'目录。

    将pthreadVC2.dll移至'bin \ php \'目录。

    将pthreadVC2.dll移至'bin \ apache \ bin'目录。

    将pthreadVC2.dll移至'C:\ windows \ system32'目录。

  4. 打开php \ php.ini并添加   延长= php_pthreads.dll

  5. 现在重启服务器,你就完成了。

    对于LINUX SYSTEM'S:

    1)下载PHP源代码并解压PHP

    2)下载PEAR      wget http://pear.php.net/go-pear.phar      php go-pear.phar

    3)下载pthreads 获取PECL扩展(PECL是PHP扩展的存储库)

    pecl install pthread-0.4.4

    4)解包pthreads 将pthread-0.4.4复制到php / ext (对于./configure允许添加选项--enable-pthreads)

    mv build / php-src-master / ext / pthreads-master build / php-src-master / ext / pthreads

    5)重新配置来源

    ./ buildconf --force

    ./ configure --help | grep pthreads

    如果不这样做,您应该会看到相应的--enable-pthreads选项,然后

    rm -rf aclocal.m4

    rm -rf autom4te.cache /

    ./ buildconf --force

    6)构建PHP 编译PHP源代码 添加:

    ./ configure --enable-debug --enable-maintainer-zts --enable-pthreads

    7)安装PHP

    使

    sudo make install

    8)更新php.ini 添加php.ini 延长= pthreads.so Include_path =“/ usr / local / lib / php”

    9)检查模块 php -m(检查pthread加载)

    10)测试线程类

    php SimpleTest.php

    这个Link会更好地解释。

    希望这会对你有所帮助:)。