首页 文章

PHP Pthread类中的Yii框架上下文

提问于
浏览
4

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

这是我编写线程类的一个例子 .

<?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

    您需要在系统中安装pthread .

    For Wampp(Windows)

    • 使用phpinfo()找出你的'PHP Extension Build'版本 . 你可以用这个 - http://localhost/?phpinfo=1

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

    • 解压缩 - 将php_pthreads.dll移动到'bin \ php \ ext '目录 .

    将pthreadVC2.dll移动到'bin \ php '目录 .

    将pthreadVC2.dll移动到'bin \ apache \ bin'目录 .

    将pthreadVC2.dll移动到'C:\ windows \ system32'目录 .

    • 打开php \ php.ini并添加extension = php_pthreads.dll

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

    对于LINUX系统:

    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 extension = pthreads.so Include_path =“/ usr / local / lib / php”

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

    10)测试线程类

    php SimpleTest.php

    这个Link会更好地解释 .

    希望对你有帮助 :)

相关问题