問題タブ [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.
php - Phar アーカイブの出力がぎこちない
次のコードで最初の phar アーカイブを作成しました。
上記の index.php は単一の出力のみを行います。
上記のコードを実行すると、myphar.phar が作成され、cli で実行すると、「I am in a PHP archive!」という出力が表示されます。ただし、web ブラウザーから myphar.phar を呼び出すと????�???�?
、index.php の内容の代わりに などの奇妙な文字が出力され、エラーは発生しません。
phar アーカイブをサポートするために、Apache の httpd.conf に次の行を追加しました。
CLIでは機能するのにブラウザでは機能しない理由を知っている人はいますか?
php - さまざまな PHP 圧縮ライブラリの利点は何ですか?
私は PHP ライブラリを圧縮する方法を調べていて、役に立つかもしれないいくつかのライブラリを見つけましたが、それらについてはあまり知りません。
特に bcompiler と PHAR ライブラリについて読んでいます。これらのいずれかにパフォーマンス上の利点はありますか? 注意が必要な「落とし穴」はありますか? 相対的な利点は何ですか?それらのいずれかがパフォーマンスに追加/低下しますか?
また、ドキュメントでは明らかではない、そこにある可能性のある他のライブラリの学習にも興味がありますか?
余談ですが、これらがたまたまコードが含まれている zip ファイルのように動作するのか、実際に疑似コンパイラを実行する Python のプリコンパイルのように動作するのかを知っている人はいますか?
======================= 編集 =======================
「あなたは何を成し遂げようとしていますか?」と尋ねられました。まあ、答えは、これはすべて仮説だということだと思います。これは、次の組み合わせです。
- 私のペット プロジェクトが地球上で最も人気のある Web プロジェクトになり、それをすばやく簡単に配布したい場合はどうすればよいでしょうか? (ねえ、男は夢を見ることができますよね?) また、PHAR を使用して簡単に実行できる場合は、Subversion スナップショットを作成するための最良の方法になると思われます。
- Python にはこの本当にクールなプリコンパイル ポリシーがありますが、PHP にはそのようなものがあるのだろうか? これらのライブラリは似たようなことをしているようです。彼らはそれをしますか?
- ねえ、これらのライブラリはかなりきれいに見えますが、同じことをしているように見えるので、違いを明確にしたいと思います
php - PHPUnit テストを PHAR アーカイブとしてパッケージ化しますか?
PHPUnit テストをPHARアーカイブとしてパッケージ化し、phpunit を使用して実行することは可能ですか?
次のスクリプトで .phar を作成しました。
しかし、結果のアーカイブを次のように実行しようとすると、次のようになります。
エラーメッセージが表示されます:
PHPUnit は PHAR ファイルをサポートしていませんか、それともビルド スクリプトに手順がありませんか? (PHAR を使用するのはこれが初めての試みです)
php - Advantages of PHAR archives in PHP
PHP 5.3 has a new feature called PHAR similar to JAR in JAVA. It's basically a archive of PHP files. What are its advantages? I can't understand how they can be helpful in the web scenario.
Any other use other than "ease of deployment" - deploy an entire application by just copying one file
php - Apache / PHP 5.3のPEAR、.phar
昨日、SSHを使用して顧客のサーバーの1つにPEARをインストールすることができました。今日、私はそれを同様のサーバーにインストールしようとしましたが、SSHアクセスはありませんでした。
pear.php.netのマニュアルには、次のように記載されています。
サーバーに直接アクセスできない(ローカルログイン、TelnetまたはSSH経由)Webホスティングプロバイダーでサイトを実行している場合は、Webフロントエンドまたは(S)FTPを使用してPEARインストーラーを使用できます。
http://pear.php.net/go-pear.pharにアクセスし、 go -pear.pharとして保存します。go-pear.pharをサーバーにコピーし、ブラウザで対応するURL( http://example.com/pear/go-pear.pharなど)を開きます。
それでダウンロードしてFTP経由でフォルダに入れて…ファイルの内容を見ることができます。file_put_contents(file_get_contents())でダウンロードしてみましたが、内容だけでしたが、期待していた「インストールインターフェイス」はありませんでした。
ですから、私はアーカイブ、特にPHP-Archiveにまったく慣れていません。しかし、FTPのみを使用してSSH(またはTelnetなど)を使用せずにPEARをインストールするにはどうすればよいですか?pear.php.netのドキュメントのように、ブラウザで.pharファイルを「実行」するにはどうすればよいですか?
さらに、PEARをインストールした後にパッケージをインストールするにはどうすればよいですか?結局のところ..まだコマンドラインはありません。
私が試したもう1つのことは、アーカイブファイルを呼び出すことです。
しかし、これは私を遠ざけません。これで、「以下は、新しいPEARインストールの推奨ファイルレイアウトです。個々の場所を変更するには、前に番号を入力してください...」と表示されます。これは、標準のPEARインストールの概要ですが、これは単なるテキストです。ディレクトリを変更するようにテキストに指示するにはどうすればよいですか...?:混乱している:
あなたの助けをどうもありがとう。私は実際にドキュメントとグーグルを検索しましたが、どちらも答えを見つけることができませんでした。
実行中:Apache/2.2.16でのPHP5.3.2
httpd.confへのアクセスはなく、.htaccessのみです。共有サーバーです。
php - Phar エラー、stub.php が見つかりません
Zend Framework の Phar アーカイブを作成しましたが、次のエラーが表示されます。
Warning: include(): Failed opening 'phar://z3.phar/stub.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php')
これは私が使用したstub.phpです:
<?php
__HALT_COMPILER();
http://empir.sourceforge.net/を使用してアーカイブを作成しまし た。また、ブログのチュートリアルを使用して、empir なしでアーカイブを作成してみました。
どちらの場合も同じエラーが発生しました。
php - phar パッケージを生成する Apache Ant タスク?
PHP プロジェクトを phar パッケージに移動しています。Eclipse (e4.1 を使用しています) は phar を適切に生成しますが、それに応じてプロジェクトのデプロイ ant スクリプトを更新することに問題があります...
注: ant の exec を使用して、オペレーティング システムの php ランタイムを呼び出して実行したくありません。私はいつもそこにいると頼ることはできません...
A. phar パッケージを生成できる Ant タスクはありますか?
B. Eclipse の phar エクスポート タスクをヘッドレスで呼び出す方法はありますか?
C. Eclipse の php ランタイムを使用して ant で php スクリプトを実行する方法はありますか?
php - PHP5.2: Windows での .phar ファイルのサポートのインストール
php5.2 を搭載した Windows サーバーに、php のアーカイブ ファイル形式のサポートをインストールしようとしています。を使ってやってみましたpecl install phar
。しかし、私はこのエラーが発生しています:
誰でもこれを理解するのを手伝ってもらえますか?
ありがとう
php - redhatにgo-pear.pharを使用してPEAR(古いバージョンよりも)をインストールする手順が必要です。php5.3を使用してcentosをインストールします。
私はCentOSを使用していますが、これまでのところ、go-pearとgo-pear.pharについて読んでいます。これは、PEARが十分に遅れているため、コマンドでアップグレードできないためです。> pear upgrade PEAR
OK、go-pear.pharのレビューは良さそうですし、パッケージや署名を扱う必要があるかもしれません。ここで信頼を持って実行し、前進して、私は疑問に思います...以前のPEARパッケージをすべて削除する必要がありますか?そうであれば、最善の方法は何ですか(うーん、'rm'が思い浮かびます)私は実際にはここのパイオニア。これを行った人を探しています(制御された方法で、そして前向きな結果で)すなわち:私は自分のサーバーボックスを台無しにしたくありません。
場所(/ usr / share)とphp.iniファイルの構成について他に何を知る必要がありますか。私は.pharを使用したPEARのインストールのヒントを受け入れており、それについてもっと知りたいと思っています。
提案やポインタを歓迎します。TIA(事前に感謝)
php - PHP の Phar スタブの作成方法を説明してください
コマンドラインからpharファイルとして実行できる非常に単純な PHP CLI アプリケーションを作成しようとしています。
これは私がこれまでに試したことです:
私のプロジェクト
私のプロジェクトは というディレクトリにMyProject
あり、その中に次の 2 つのファイルがあります。
ブートストラップ.php
bootstrap.php
ファイルにはこれが含まれています:
Ubuntu コマンド ラインからこのスクリプトを実行すると、次のようになります。
次の出力が得られます。
createPhar.php
createPhar.php ファイルは、プロジェクトを Phar アーカイブに変換するためのものです。次のようになります。
そのスクリプトを実行すると...
...という名前の新しいファイルMyProject.phar
がプロジェクトのディレクトリに作成されます。
ここで問題です
phar ファイルを実行すると...
bootstrap.php
...スクリプトを実行したときと同じ出力が表示されることを期待しています。
代わりに、何も見えません。まったく出力されません。これは、私のbootstrap.php
スクリプトが作成されたデフォルトのスタブに含まれていないことを意味します$phar->createDefaultStub('bootstrap.php')
Phar とそのスタブの作成方法を誤解していると思います。どこが間違っているのか説明してください。