Project

php_embed

0.0
No commit activity in last 3 years
No release in over 3 years
execute PHP code in Ruby code
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

>= 0
>= 0
 Project Readme

php_embed

Ruby 上で PHP のコードを実行します

Synopsis

require 'php_embed'

puts PhpEmbed.call("phpversion") # output return value of phpversion function


PhpEmbed.eval('function hello_php(){ return "php world!";}')
puts PhpEmbed.call("hello_php") # "php world!"


PhpEmbed.setOutputHandler(Proc.new { |output|
    puts output
})
PhpEmbed.call("phpinfo") # output phpinfo()

Requirements

  • ruby >= 1.9
  • php embed-sapi (optional)

About php embed SAPI

php をソースからコンパイルする場合、そのままでは embed-sapi はコンパイルされません。 configure 時に、 --enable-embed オプションを指定する必要があります。

CentOS6 であれば php-embeddedphp-devel パッケージでも代替可能です。

Installation

###normal install

gem install php_embed

システムの php embed-sapi 共有ライブラリを利用します 利用出来ない場合、インストールは失敗します

###install with php compile

gem install php_embed -- --compile-php

インストール時に、php のソースコードを取得してコンパイルします インストールされる php のバージョンのデフォルトは 5.6.0 です。

--compile-php=5.5.17 のように、php のバージョンを指定することも可能です

##install with php compile (use old version)

gem install php_embed -- --compile-php=5.3.3 --php-source-url=http://museum.php.net/php5/php-5.3.3.tar.bz2

古いバージョンの php を使いたい場合、ソースコードがダウンロードできずにインストールに失敗する場合があります その時は --php-source-url でダウンロードURLを指定できます

Usage

spec ディレクトリにある rspec を参考にしてください。

Slide

http://www.slideshare.net/do_aki/php-in-ruby

Slide 中の php-embed となっているところは php_embed の誤りです。