Ratchetドキュメントの商用環境関連の記載に、Libeventなるものの記載があったので、とりあえずインストールしてみました。
http://socketo.me/docs/deploy
Libeventについては、以下が非常に参考になりそうです。
C言語 libeventとは イベント通知とI/Oバッファ
http://kaworu.jpn.org/kaworu/2008-11-29-1.php
liveventの意義
http://nippondanji.blogspot.jp/2008/09/livevent.html
以下、インストール手順ですが、色々とエラーが出たので、あまり参考にならないかもしれませんm(_ _)m
とりあえず記載の通り
$ sudo apt-get install libevent libevent-devとすると
E: Unable to locate package libeventが発生。
$ sudo apt-get install libevent-devならインストールできたので、dpkgで確認してみると
$ dpkg -l | grep libevent ii libevent-2.0-5 2.0.16-stable-1 Asynchronous event notification library ii libevent-core-2.0-5 2.0.16-stable-1 Asynchronous event notification library (core) ii libevent-dev 2.0.16-stable-1 Asynchronous event notification library (development files) ii libevent-extra-2.0-5 2.0.16-stable-1 Asynchronous event notification library (extra) ii libevent-openssl-2.0-5 2.0.16-stable-1 Asynchronous event notification library (openssl) ii libevent-pthreads-2.0-5 2.0.16-stable-1 Asynchronous event notification library (pthreads)と出ました。(これで良いのだろうか。)
続いて、PECL拡張モジュールのインストールです。
$ sudo pecl install libeventとして、またエラーが出ました。
Failed to download pecl/libevent within preferred state "stable", latest release is version 0.0.5, stability "beta", use "channel://pecl.php.net/libevent-0.0.5" to install install failed調べてみると、以下が見つかりました。
https://groups.google.com/forum/?fromgroups=#!topic/phpdaemon/KulET8lECIA
http://serverfault.com/questions/271554/problems-installing-php-libevent-pecl-package
真似して
$ sudo pecl install channel://pecl.php.net/libevent-0.0.5とすると
configure: error: Cannot find libevent headersと出ました。
諦めたくなって来ましたが、ソースからインストールしてみます。
http://pecl.php.net/package/libevent
$ cd ~/src/ $ wget http://pecl.php.net/get/libevent-0.0.5.tgz $ tar xzvf libevent-0.0.5.tgz $ cd libevent-0.0.5/ $ phpize $ ./configure $ make $ sudo paco -D make install ---------------------------------------------------------------------- Libraries have been installed in: /home/xxx/src/libevent-0.0.5/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,--rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Installing shared extensions: /usr/local/php/php-5.4.10/lib/php/extensions/no-debug-zts-20100525(おお。進んだ。)
php.iniに以下を記述。
extension=libevent.soApacheを再起動。
$ sudo service apache2 restartphpinfoを確認。
(0.0.5をDLしたはずだけど0.0.4となっているぞ。)
正しくインストール出来たのだろうか。。。
--
関連:
FuelPHPでWebSocketを扱うパッケージを作りました
http://madroom-project.blogspot.jp/2013/04/fuelphpwebsocket.html
No comments:
Post a Comment