問題タブ [phar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1897 参照

php - インデックスなしでPharアーカイブを作成するにはどうすればよいですか?

私は自分のライブラリの1つでPharアーカイブを作成しようとしています。libは、フォルダーとサブフォルダーに編成されたクラスの集まりです。ここにはindex.phpはまったくなく、オートローダーを開始するために呼び出す静的なConfigクラスだけです。

とにかく、私はこのようなアーカイブを構築しました:

その後、私はこのようにpharを使用しようとしています:

しかし、次のエラーが発生します。

警告:include(phar:// D:\ wamp \ www_test \ phar \ lib.phar / index.php)[function.include]:ストリームを開くことができませんでした:pharエラー:"index.php"はpharのファイルではありません9行目のD:\ wamp \ www_test \ phar \ lib.pharの「D:/wamp/www/_test/phar/lib.phar」

index.phpファイルを含まないpharアーカイブを作成するにはどうすればよいですか?実際、アーカイブがファイルのコンテナである必要があり、何も自動実行する必要はありません。

0 投票する
2 に答える
664 参照

php - phar を phar に入れることは可能ですか?

まず最初に: 私の Phars は実行されます。私は少し遊んでいて、次のシナリオがあります。

  • アプリケーション用の Phar (不規則なものはありません) (application-phar)
  • たとえばライブラリ用の 2 番目の phar。(lib-phar)

lib-phar を application-phar に入れたいと思います。application-phar のみを必要とします。application-phar からのブートストラップ (スタブ) が lib-phar からブートストラップをロードするようにします。

これは私が思いついた最高の紹介リソースです: http://www.slideboom.com/presentations/26182/PHP-5.3-Part-3---Introducing-PHAR

私は次のものを持っています:

lib-phar

内部スタブ

アプリケーションファー

外部スタブ

主要

出力:

とても長いですが... 内側の index.php を実行するにはどうすればよいですか? 問題は、非常に紛らわしいことをしたいということだと思います:

これは読み取り可能な形式です: :

私の lib.phar は application.phar にあるためです。だから私はラッパーの周りにラッパーが必要だと思います。したがって、PHAR-Extension はこのために作成されていない可能性があります。ご覧のとおり、2 番目のスタブが呼び出されますが、魔法の__FILE__定数 (およびPhar::running(TRUE|FALSE)ここでは間違って設定されています。

あなたはなにか考えはありますか?または、同様のセットアップを行いましたか?

もちろん、私は代替案を知っています:

  • lib + アプリケーションに 1 つのスタブと 1 つの phar を使用する
  • lib.phar を一時的な場所に解凍し、そこから Phar::load() を使用してそれを要求します。

この入れ子のセットアップについて考えるのが本当に好きです。たぶん、あなたは別の素晴らしいアイデアを思いつきましたか?

よろしくフィリップ

0 投票する
2 に答える
1078 参照

php - PHP PHAR の予期しない問題

PHP 5.3 PHAR アーカイブを少しテスト/スクリプト作成/再生した後、いくつかの問題を発見しました。

グロブ

PHAR は glob では機能しません。ラッパー ( http://www.php.net/manual/en/phar.using.stream.php#104320 ) としても、関数呼び出しとしても。

私のテスト プロジェクトでは、PHAR 内のファイルを繰り返し処理し、グロブに相当する正規表現で結果をフィルター処理する必要がありました。

imagettfbbox

理由はわかりませんが、imagettfbbox も PHAR ストリーム ラッパーを理解していません。

ここでの最も簡単な解決策は、copy() を介してファイルを抽出することでした。(PHAR::extractTo は、スタックトレースも行番号もなしで例外を返します。)

私が期待すべき他の驚きはありますか?他に既知の問題はありますか? そして、それらはどこかに文書化されていますか?

0 投票する
8 に答える
61127 参照

php - PHP:クラス「Phar」が見つかりません

WebアプリケーションのベースとしてSilexフレームワークを使用しようとしています。ただし、*。pharアーカイブを含めようとすると、PHPは次のエラーをスローします。

次の関連する行が私の中にあります/etc/php/php.ini(Silexのドキュメントで提案されているように):

PHARライブラリが存在し/usr/lib/php/modules/phar.so、私のすべてのライブラリの拡張パスとして設定されていますphp.ini

PHPがこのエラーをスローする理由を誰かが知っていますか?

0 投票する
2 に答える
2447 参照

php - インメモリ PHP 配列を .tar.gz ファイルに圧縮する (PHAR?)

文字列として xml ファイルの大規模なメモリ内配列があります。

PHP (5.3) から読み取り可能/抽出可能な .tar.gz ファイルを作成する最も効率的な方法を探しています。

現在、私はこのクラスを使用しています。

しかし :

  • メンテナンスされていないようです
  • ファイルが必要です(そのため、数ミリ秒後に役に立たないメモリ配列から何千ものファイルを作成しています)

だから私は .tar.gz ファイルを処理する効率的な方法を探しています。最も重要なポイントは、次のような単純なコマンドでファイルを簡単に配置できることです。

$myArchive->putFileFromString($fileName, $dataString);

TAR & GZ で PHAR を構成することは可能のようですが、解決策になるのでしょうか?


おまけの質問ですが、メモリを節約するために (xml 文字列の生成ごとに) ライブでビルドする方がよいのか、それともこの巨大なオブジェクトを待って一度圧縮する方がよいのかわかりません。この場合、proc_usage / mem_usage の比率は不明です。

ターゲットの最大使用量は 100K XML ファイルです。

ありがとう!

0 投票する
1 に答える
938 参照

php - インクルードは、実稼働サーバーの phar アーカイブ内では失敗しますが、ローカル開発サーバーでは失敗します

与えられたエラーは

phar アーカイブがロードされているようですが、アセットを含めようとすると失敗します。これのトラブルシューティングをどこから始めればよいのか、私は途方に暮れています。ローカル マシンでは完全に動作しますが、本番サーバーにアップロードすると (重要な場合は plesk を実行しています)、失敗します。

Phar が有効になっているようです。phpinfo() から:

登録された PHP ストリーム

https、ftps、compress.zlib、compress.bzip2、php、ファイル、グロブ、データ、http、ftp、phar、zip

これを引き起こしている可能性のあるアイデアはありますか?

0 投票する
1 に答える
2552 参照

php - エラー: pecl 経由で php_phar をインストールしようとすると、DSP phar.dsp が存在しません

pecl 経由で php 5.3.8 / windows7 x64 に php_phar をインストールしようとすると、次のエラーが発生しました。

(拡張機能ディレクトリに php_phar.dll がありません)。

この問題について何もググることはできません。

0 投票する
1 に答える
437 参照

php - PHP phar 可能な使用法

5 7 のコンポーネントを持つ新しいポータル アプリケーションを php で開始します。数か月前に php phar について読み、各コンポーネントの phar を個別に作成し、それらを何らかの方法で使用することが有益かどうか疑問に思いました。私はアプリケーションを開始しようとしていますが、以前に phar の経験がないため、使用するかどうかについて、スタック オーバーフローの担当者から意見を求めたいと思っています。

phar を使用するための私の心にある主なテーマは、サイト管理者がコンポーネント全体を有効/無効にできるパネルを作成することです。また、必要に応じて、より多くのコンポーネントをプラグインします。.net DLL と同じ概念

よろしくジュナイド

0 投票する
1 に答える
1728 参照

php - PHAR ファイルの編集

phar ファイルを編集しようとしていますが、増分更新がサポートされていないことと、phar ファイルを抽出してその内容を編集し、再度圧縮して使用できるようにする必要があることを理解しています。

phar ファイルを抽出する方法がわかりません。簡単なハウツーをいただければ幸いです。私は現在Windowsを使用しています。

0 投票する
1 に答える
2044 参照

php - 致命的なエラー: クラス 'Silex' が見つかりません

アプリケーションを構築するために silex を試しています。最初のアプリケーションをテストしようとすると、次のようなエラーが発生します。

致命的なエラー: クラス 'Silex' が /opt/local/apache2/htdocs/silex/try.php の 5 行目に見つかりません

これは私のコードです:

検索エンジンでエラーを検索しましたが、次のコードを php.ini に追加するなどの提案があります。

しかし、Web ブラウザーでテストすると、まだ同じエラーが発生します。あなたの提案は何ですか?