この記事は、最初はほんの数ステップでHomesteadにEZ Publicをインストールする方法についての簡単なヒントになる予定でした。しかし、WindowsでホストされているVagrant Boxでゼロから作業するのにどれだけの労力がかかったかを見た後、私はそれを完全な記事にすることにしました。私は苦しんだので、あなたはそうする必要はありません:)
EZチームが以下で述べている問題に対処することを望んでいます。(もしそうなら)、それに応じてこの投稿を変更します。確かに、私の環境は非常に具体的です:Windowsの浮浪者。ただし、これは問題ではありません。私が同じ方法で起動しようとしたすべてのCMS、アプリ、およびフレームワークは、数分で実行可能でした。今日の現代のウェブ世界には、すべてが同じように機能しないという理由はありません。
キーテイクアウト- 環境セットアップに関連する一般的な落とし穴を回避するために、ezパブリッシュ5.xをインストールしようとする前に、Laravel Homesteadがセットアップを改善し、正しく構成していることを確認してください。
- `Composer Create-Project`コマンドを使用してEZ Publishをダウンロードします。これは、特にWindows-Hosted VMで準備されたTARアーカイブを使用するときに一般的なシンリンクの問題を回避するためです。 「ezpublish.yml`ファイルを変更してキャッシュ設定を変更します。これは、VM環境でのキャッシュ生成障害に関連するエラーを防ぐために重要です。
- nginxのタイムアウトとバッファー設定を増やして、EZ Publishの大規模なリクエスト応答を処理し、サーバーのタイムアウトなしでよりスムーズな操作を保証します。 nginx構成のURLから「index.php」を削除して、URL構造を近代化し、Webアプリケーションの現在のベストプラクティスと協力してください。
- Vagrant-Frendly Apps
各チームメンバーに同一の
ホストマシン、または同じマシン上の他のクライアントに専念する環境を混乱させることなく、生産環境を可能な限り密接に複製できる
-
したがって、Vagrantを使用して、単一のプロジェクトに特化したVMの同一のコピーを使用します。これは、より速く、より速く、よりスケーラブルな開発、実験、展開のために影響なしに簡単に破壊および再構築できます。
- ここでのステップバイステップのポイントは、開発目的であらゆるマシンで同一のEZインスタンスをアップして実行することがどれほど簡単かを示すことでした(単純ではないことが判明したという事実は別の話です全体的に)。これは重要です。たとえば、誰もが同じOSを使用しているわけではありません。上記のリンクリンクはCentosに、HomesteadはUbuntuです。任意のOSでは、インストール手順も同様に簡単にする必要があります。 このVM内のEZパブリッシュファイルは文字通り内部にあります。外の世界(ホストマシン)へのフォルダーの共有はありません。Symlinkの問題の可能性はありませんが、インストールされたIDEでアプリのファイルを開く可能性もありませんそれらをハッキングするためにホストマシンで。これにより、効果的な開発ワークフローが防止されます
- ezがホームステッドで5.xを公開することについてよく尋ねる質問
以下のインストール手順を実験することで、EZ Publishがこれを簡単にするではないことがわかりました。 2014年、複数のクライアントやプロジェクトを持つほとんどのプロフェッショナルな開発者は、ソロでもVagrantを使用しています。各プロジェクトに専用の、別々の、破壊可能で再構築可能な環境を持つことは、ホスティングオプション、ツール、バージョンのバージョンを考慮する際に貴重です。廃棄。
最近、より多くのアプリが浮浪者のアプローチを採用しているのを見ないことに失望しています。フロントエンドを開発するときにモバイルを最初に考える必要があるように、バックエンドライブラリ、フレームワーク、アプリを開発するときにVMファーストを考える必要があります。世界がHeroku、Gae、Amazonなどに移動するにつれて、適応することは残されます。今すぐインストール手順を開始しましょう。
重要な注意:Windowsにいない場合は、ステップ5がおそらく発生しません。 Windowsにいる場合は、「昇格した」gitbash /コマンドプロンプト(管理者として実行する)で手順全体を実行することで、ステップ5を回避できます。管理者ユーザーは、Windows 8にシンリンクを作成する許可を持つ唯一のユーザーです。これが修正可能であるという噂がありましたが、どれも確実に機能しませんでした。管理者として開発環境を実行すると、まったく新しいワームの缶が開きますので、あなた自身の責任でそれを行います。誰かがGitBashを介してSymlinksを作成するための通常のWindows8ユーザーの許可を正常に提供した場合は、私に知らせてください。
ララヴェルのホームステッドが用意されたボックスを改善し、動作させます。あなたがそれが機能するかどうかを確認するためにVagrantをした場合、私たちがそれを構成できるようにVagrantを破壊します。ステップ1:ホームステッドが改善されました
ステップ2:サイトを追加
homestead.yamlファイルを開き、新しいサイトを追加します:
Laravel Homesteadの改善されたクイックチップに記載されているように、ホストマシンのホストファイルにez.appを追加します。基本的に、ホストファイルに127.0.0.1 ez.appが含まれていることを確認してください。当然のことながら、共有フォルダーもマップします。
VMをVAGRANTで起動し、VAGRANT SSHでVMを入力します。
ステップ3:前提条件をインストール<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
PHP-INTLとPHP-XSL拡張機能をインストールするには、PHPが必要です。また、セットアップウィザード全体でsendmailを求めます。 Homesteadでは、これらすべてを:
でインストールできますステップ4:コードを取得
上記は、開発用ではなく、使用するためのEZプロジェクトを作成します。開発バージョンを取得するには、GitHubページを参照してください。
Ez Publishは途方もなく大きく、これを行うのに時間がかかることに注意してください。 「1時間あたりの60リクエスト」を確認することはほぼ保証されています。タイムアウトとダウンロードが必要な膨大な量のデータにより、プロセスは数回失敗する可能性があります。その場合は、RM -RF EZPUBでEZPUBフォルダー全体を削除し、上記の作成プロジェクトコマンドを再実行するだけです。パッケージがダウンロードされるたびに、後続のリクエストでローカルキャッシュから提供されるため、毎回より速くなります。 、再ダウンロードするのではなく
インストーラーは、端近くのデータ(秘密、フォールバックロケールなど)を求めます。入力するか、それぞれのEnterを押してデフォルトを使用します。EZ PublishのWebサイトからダウンロードされた準備されたTarアーカイブを使用していない理由は、準備されたアーカイブにSymlinksが詰め込まれているためです。VMがWindowsマシンでホストされている場合は機能しません。マルチプラットフォームに優しいものを維持するために、私は作曲家の創造プロジェクトアプローチを選択しました。
ステップ5:インストーラーのバグを処理します[Windowsホストのみ]現状では、EZパブリッシュはVMやエッジケースに合わせて調整されておらず、チームが考慮していないことが多くあります。たとえば、WindowsボックスのVMで実行します。すべての依存関係により、インストール中にどこかを壊すことが保証されています。私にとって、そしておそらくあなたにとっても、これは資産をインストールするポストインストールスクリプトになります。インストール資産は実際にはSymfonyの一部であり、それを行うクラスでは、実際にWindowsやSymlinksに対して警告しますが、Parent ProjectがSymlinksを強制するかどうかを考慮していません。
これが発生した場合(Symlinksなどについてエラーが発生します)、Open Composer.jsonを削除して削除します。
これにより、インストーラーにsymlinkではなく、設計資産をコピーするように強制されます。
次に、[インストール後のスクリプト]を実行して再実行:<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
レガシーEZバージョンと何らかのコメントバンドルに関するエラーが発生する可能性がありますが、まだ修正する方法や重要かどうかはわかりません。
ステップ6:データベースを作成後でEZに送信するデータベースを作成します。 mysql -u Homestead -pescretを使用してVMでmysqlインスタンスにログインします。次に、実行:
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
ステップ7:フォルダー許可を設定します
このステップは、Ezpubフォルダーのすべてのサブフォルダーを所有する「Vagrant」ユーザーの下ですでに実行されているため、Homesteadでスキップできます。
ステップ8:セットアップウィザード
を実行します編集:ステップ8とステップ9の一部を自動的に処理するアプローチについては、以下のJeromeのコメントを参照してください。
ez.app:8000にアクセスして、次の画面を参照してください。<span>cd Code </span><span>composer create-project ezsystems/ezpublish-community ezpub</span>
これは非常に奇妙になる場所です。理由もなく、これは起こります。はい、それは2年間未確認のままである問題です。真剣に、それはPHPプロジェクトでの2年前の未解決のバグです。コアでそれを修正するには、コミットとプッシュを含む7秒の作業がかかります(8.2を参照)。私たちの場合、それを回避するには2つの方法があります。快適なものはないので、それを選ぶのはあなた次第です。
ステップ8.1:陽気が続きます
それを回避するために、そして私が真剣に死んでいるので、これは冗談ではありません。開発ツールを開き、フォームのアクション属性の最後にezsetupを配置する必要があります。 .php。 2014年にそのような問題がまだ存在する方法は困惑していますが、ここにあります:
フレームワークのソースファイルを変更したくない場合は、このアプローチを選択してください。
ステップ8.2:ガットのハッキング2番目の、おそらく少し単純なアプローチは、ウィザード自体の形式を変更し、そのアクション属性を変更することです。
ezpubezpublish_legacykernelsetupezsetup.phpに移動し、行を見つけます:
その上に、これを置いてください:
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>この後、アクション属性は修正されます
あなたが狂気になるので、ウィザードをスキップしてEz Publishを手動でセットアップすることをお勧めしません。客観的に、彼らのインストール手順と彼らのドキュメントは、私が今まで見た中で最悪のものです。あなたが彼らの指示に従おうとするならば、あなたはそれを試してみたいというすべての欲求を失うでしょう。 EZチームがすぐに彼らのレガシーシステムへのすべての依存関係と参照を完全に削除し、新しいコアのみを維持することを願っています。 VMはますます多く、エントリの容易さとともに短いインストール手順は、目立つことを望んでいるCMSの最も重要な属性です。
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>ステップ9:ウィザードエラーを無視してください
この警告を無視します。次の画面に進みます(8.1を使用した場合は、フォームアクションを再度変更することを忘れないでください。
セットアップウィザードの最後に、Nginxタイムアウトエラーが発生します。これは、EZパブリッシュがひどいレガシーバージョンと新しいバージョンの両方を処理する必要があるため、VMで実行されているために遅いことで有名であるためです。そのため、それが起こったら、URLからEzsetupを使用して削除してリフレッシュしてください。その後、あなたはこの美しさに迎えられます:
ステップ10:キャッシュを無効にします
上記の画面のエラーは、EZがこのようなPHPファイルのキャッシュを作成しようとしているときに発生します。 /home/vagrant/code/ezpub/ezpublish/cache/prod/stash/0FEA6A13C52B4D47/25368F24B045CA84/A1E4F174919D040AF6D06113D6777C9E0/4A1C6BE177 996F9E/03934AE1C02FFC/9A0364B9E99BB480/DD25E1F0284C8555/CAF9B6 B99962BF5C/2264824231D7A40C/D3D9446802A44259/755D38E6D163E820.PHP (うーん、聞かないで…)。このキャッシュエンジンは、失敗した場合に無効にするほど賢くないため、手動で行う必要があります。
in ezpubezpublishconfigezpublish.ymlは、これに隠しブロックを変更します
「メモリ内」とは、ファイルシステムの代わりに、メモリがスタッシュキャッシュに使用されることを意味します。 RM -RF ezpublish/cache/*でキャッシュをクリアし、更新します。必要に応じて、キャッシュエンジンを後でファイルシステムキャッシュよりもまともなものに交換してください。 MKDIRのプロトコルエラーを他にどのように軽減するかはわかりません。VM関連であることは知っていますが、それ以上ではありません。どんなアドバイスでも大歓迎です。
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>あなたはおそらく、さらに別の警告の突風と最後に503エラーによって迎えられるでしょう:
しかし、少なくともレンダリングするタイトルを手に入れました!
これらすべての警告を引き起こすファイルは、実際、EZがロードするために必要なすべてのPHPファイルを編集することです。それらは1つ(!!!)に統合され、エズパブリッシュフォルダーに入れられました。ファイルはコードの混乱であり、デバッグは簡単ではありません。なぜなら、PHP拡張機能がなく、IDEのハイライトがないことを除いて、それはいかなる種類のコーディング標準も尊重しないためです(したがって、1つのファイルに数十のクラス、インデント、およびインデントなし、結局のところ、読みやすさはありません)、それは「単なるキャッシュファイル」です。ただし、アプリケーション全体がキャッシュファイルに依存している場合、簡単にデバッグできると便利です。
恐ろしいキャッシングの実践はさておき、この混乱全体を無効にし、環境環境変数を変更することでEZパブリッシュをデバッグモードにロードすることができます。 Homestead.yamlでこれを変更できます。これにより、「変数」ブロックに追加することで、ブート中にAutoConfigureを取得できます。
または、ezpub/webでindex.phpファイルを編集し、$環境= 'dev'を編集することができます。 $環境= getEnv( "環境"); 8行目。
この時点で、2番目のアプローチが続いている場合は簡単になります。それ以外これを終了すると、これをレンダリングすることができるはずです:
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
EZの公開リクエスト応答が非常に大きいため、Nginxの制限を上げる必要があります:
ルート指令の下で、次のことを貼り付けます
sudo service nginx restartでnginxを保存、終了、再起動します。
いくつかのページは機能します(ブログ、発見)、他のページ、まあ、それほどではありません。ただし、デモバンドルをデバッグすることは、このすでに長すぎる記事の範囲外です。
ステップ12:urlからindex.phpを削除します
デフォルトでは、すべてのSymfonyアプリには、「App.php」またはEZ Publishのケース「index.php」には、何らかの理由であります。誰かが2001年からホスティングプロバイダーや開発者をサポートしなければならないと思います。削除することで両方のプロジェクトを21世紀に持ち込みましょう。 ここの指示に従って、「場所」ブロックの上に、追加:
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>
sudo service nginx restartを使用してnginxを保存、終了、再起動します。
ステップ13:喜ぶ<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
骨の折れるプロセスの後、最終的に完了しました。 1日以上かかったのは、できれば10分以内にかかったことを願っています(ダウンロード時間を除く)。今、あなたも、あなた自身のホームステッドインスタンスで、過剰に複製され、複雑で時代遅れのCMSを試すことができます。それがどのように機能するかを教えてください!
結論
浮浪者ボックスで起きて実行するためにこの多くの作業を必要とするCMSは、私の考えでは、注意を払う価値のあるCMSではありません。確かに、おそらくそれをホストマシンに簡単にインストールしてそのように実行できますが、それは専門的なアプローチではありません。開発環境はカプセル化され孤立する必要があり、開発者は気まぐれでインスタンスを破壊して再構築できる必要があります。 CMSには、自動実行のスクリプトがあり、すべての可能な問題を検出し(Symlinksが使用できない、ハードコピーモードに自動的に切り替えるなど)、すべてをセットアップします(データベースからフォルダー許可まで、必要に応じて)。途中。
このプロセスはEZ Publishをインストールしましたが、それだけの価値がありましたか?それはあなた次第です。 EZは間違いなく強力なCMSですが、それに入ることの難しさはせいぜい有害です。これで、それをテストするための共通の出発点があります。PHPサマーキャンプや他の場所でのEZの人々からこれらの問題についてもっと知ることができます。それまでは、このボックスにあるEZチュートリアルをいくつか取得しましょう。
以下のコメントにフィードバックを入れてください。特に、ウィンドウ以外のホストでこれを行い、デモのバンドルを機能させようとした場合は、さまざまなアプローチを聞きたいと思っています!
編集:このgithubリポジトリは私の注意を喚起しました。これは、機能するEZパブリッシュの準備されたVagrant構成です。ただし、2つの注意事項があります
Ez Publish 5.xは、さまざまな利点を提供します。 Webサイトでコンテンツを作成、管理、公開できる堅牢で柔軟なコンテンツ管理システム(CMS)を提供します。また、オープンソースです。つまり、自由に使用できることを意味し、特定のニーズに合わせてカスタマイズできます。一方、Homesteadは、EZパブリッシュサイトのセットアップと管理プロセスを簡素化する仮想開発環境です。さまざまなマシン間で一貫した環境を提供し、ローカル開発環境の違いから生じる可能性のある潜在的な問題を軽減します。 .xは、柔軟性と堅牢性のために、他のCMSプラットフォームから際立っています。複雑なWebサイトと大量のコンテンツを処理するように設計されており、企業や組織に最適な選択肢となっています。また、複数の国で事業を展開している企業にとって重要な機能である多言語サポートも提供しています。さらに、そのオープンソースの性質により、特定のニーズを満たすための広範なカスタマイズが可能になります。Homesteadに5.xをパブリッシュすることは困難ですか?ホームステッドでは、特に記事で提供されている段階的なガイドに従えば、簡単です。ホームステッドのセットアップ、システムの構成、EZパブリッシュのインストール、サイトのセットアップが含まれます。これに慣れていない場合は複雑に思えるかもしれませんが、ガイドは各ステップを詳細に分割し、既存のWebサイトをEZの公開に移行できます。はい、既存のウェブサイトをEZ Publish 5.xに移行することが可能です。ただし、ウェブサイトがオンになっている現在のプラットフォームとコンテンツの量に応じて、プロセスは複雑になる場合があります。移行を試みる前に、専門家の助けを求めたり、プロセスを徹底的に調査したりすることをお勧めします。
オープンソースプラットフォームとして、EZ Publish 5.Xには、サポートを提供できるユーザーと開発者の大規模なコミュニティがあります。また、多くのオンラインリソース、チュートリアル、フォーラムがあり、ヘルプを見つけることができます。さらに、EZ Publicsの背後にある会社であるEZ Systemsからの専門的なサポートサービスは、EZ Publish 5.x?EZ Publish 5.xはセキュリティを念頭に置いて設計されています。ロールベースのアクセス許可、安全なパスワードストレージ、一般的なWeb攻撃に対する保護などの機能が含まれます。ただし、他のソフトウェアと同様に、サイトを更新し続け、Webセキュリティのベストプラクティスに従って、サイトを安全に保つことを保証することが重要です。 🎜>はい、EZパブリッシュ5.xはeコマースサイトに使用できます。製品管理、ショッピングカート機能、支払いゲートウェイの統合など、さまざまなeコマース機能をサポートしています。ただし、eコマースサイトに必要なすべての機能を提供するには、追加のプラグインまたは拡張機能を使用する必要があります。 5.xを公開するには、ApacheやNginxなどのWebサーバー、PHP 5.4以降、MySQLやPostgreSQLなどのデータベースが必要です。また、特定のPHP拡張機能と設定が必要です。詳細なシステムの要件は、EZ Publish Documentationに記載されています。 5.xサイトを公開します。これには、キャッシュを使用してサーバーの負荷を削減し、データベースの最適化、コンテンツ配信ネットワーク(CDN)を使用してコンテンツ配信を高速化することが含まれます。ソフトウェアとプラグインを定期的に更新することも、パフォーマンスの向上に役立ちます。EZパブリッシュ5.x?はい、EZパブリッシュ5.xの機能を拡張できますか?プラグインと拡張機能を使用して新しい機能と機能を追加することもできます。また、オープンソースの性質のためにコアコードをカスタマイズすることもできます。ただし、コアコードを変更すると、更新を適用することがより困難になり、セキュリティリスクを導入する可能性があることに注意することが重要です。
以上がEZをホームステッドで動作させるために5.xを公開する13のステップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ホットトピック



