ethna.bat 実行時のエラーとバグ
Ethnaのコマンドを実行するには、
/bin/ethna.bat
を実行しますが、このethna.batを実行したときにエラーが出ることがあります。
Could not open input file: \bin\\bin\ethna_handle.php
Could not open input file: C:\…\Ethna\bin\\bin\ethna_handle.php
このようなエラーが出た場合は、pearでインストールされていないEthnaを実行したときです。
これはEthnaのバグで(2.5.0で確認)、ethna.bat内のDEFAULT_ETHNA_HOME、ETHNA_HOMEの指定が間違っています。
ethna.batの13行目
if NOT "%PHP_PEAR_INSTALL_DIR%" == "" ( set DEFAULT_ETHNA_HOME=%PHP_PEAR_INSTALL_DIR%\Ethna ) ELSE ( set DEFAULT_ETHNA_HOME=%~dp0 )
pearでインストールされていなければ、DEFAULT_ETHNA_HOMEはethna.batの置かれているディレクトリにする。
つまりDEFAULT_ETHNA_HOMEは『 C:\…\Ethna\bin\ 』
[参考記事] %~dp0 とは
ethna.batの24行目
if "%ETHNA_HOME%" == "" set ETHNA_HOME=%DEFAULT_ETHNA_HOME%
ETHNA_HOMEの指定がなければ、DEFAULT_ETHNA_HOMEとする。
つまりETHNA_HOMEは『 C:\…\Ethna\bin\ 』
ethna.batの34行目
IF EXIST "@PEAR-DIR@\Ethna" ( %PHP_COMMAND% -d html_errors=off -qC "@PEAR-DIR@\Ethna\bin\ethna_handle.php" %1 %2 %3 %4 %5 %6 %7 %8 %9 ) ELSE ( %PHP_COMMAND% -d html_errors=off -qC "%ETHNA_HOME%\bin\ethna_handle.php" %1 %2 %3 %4 %5 %6 %7 %8 %9 )
%ETHNA_HOME%\bin\ethna_handle.phpを実行する。
つまり実行されるファイルは『 C:\…\Ethna\bin\\bin\ethna_handle.php 』
これは次の部分が間違っています。
ethna.batの16行目
set DEFAULT_ETHNA_HOME=%~dp0
これでは『 bin 』ディレクトリになってしまうため、次のようにして、1階層上にします。
set DEFAULT_ETHNA_HOME=%~dp0..
Warning: require_once(Ethna/Ethna.php): failed to open stream
[参考記事] Ethnaのファイルは、『Ethna』という名称のフォルダ以下に置く
Warning: require_once(Ethna/Ethna.php): failed to open stream: No such file or directory in C:\…\bin\ethna_handle.php on line 19 Fatal error: require_once(): Failed opening required 'Ethna/Ethna.php' (include_path='C:\…;.;C:\Program Files\PHP\pear') in C:\…\bin\ethna_handle.php on line 19
Ethnaのファイルをzipなどで解凍して設置する場合は、『Ethna』という名称のフォルダ以下に置くようにします。
関連記事
スポンサーリンク