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』という名称のフォルダ以下に置くようにします。

スポンサーリンク

関連記事

スポンサーリンク

mask マスク効果を指定する

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る