Я работаю на PHP Pthreads. Я написал класс, который наследует класс «Thread». Этот класс не распознает контекст платформы Yii (1.x). Я не могу использовать какие-либо компоненты или модели платформы Yii. Я убедился, что класс потока должен находиться в доступных путях фреймворка Yii, определенных в «импорте» в конфигурации.
Вот пример того, как я написал класс потока.
<?php
class MultiThreaded extends Thread {
public function __construct(){
}
public function run(){
echo Yii::app()->basePath;
}
}
Обновить:
Вот массив импортеров в конфиге Yii.
'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
Вам необходимо установить pthreads в вашей системе.
Узнайте, какая у вас версия PHP Extension Build, используя phpinfo (). Вы можете использовать это — http://localhost/?phpinfo=1
Загрузите файлы pthreads, соответствующие вашей версии php (32-разрядной или 64-разрядной) и сборке расширения php (в настоящее время используется VC11). Используйте эту ссылку для скачивания — 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 и добавьте
расширение = php_pthreads.dll
Теперь перезапустите сервер, и все готово.
1) Скачать исходники PHP и распаковать PHP
2) Скачать PEAR
Wget http://pear.php.net/go-pear.phar
php go-pear.phar
3) Скачать pthreads
Получить расширение PECL (PECL — хранилище расширений PHP)
4) Распакуйте pthreads
скопируйте pthread-0.4.4 в php / ext
(для ./configure позволяют добавить опцию —enable-pthreads)
5) перенастроить источники
В результате вы должны увидеть соответствующую опцию —enable-pthreads, если нет, то
6) Сборка PHP
Компилировать исходный код PHP
Добавлять:
7) Установка PHP
8) Обновление php.ini
Добавить в php.ini
расширение = pthreads.so
Include_path = «/ usr / local / lib / php»
9) Проверьте Модули
php -m (проверить загрузку pthread)
10) Класс тестовой нити
это Ссылка на сайт объясню лучше.
Надеюсь, что это поможет вам 🙂
Других решений пока нет …