Magento 2のローカルインストールでは、pub / staticフォルダーにファイルが生成されません。


15

MAMPを介して、ローカルにサンプルデータを含むMagento 2 Community Editionをインストールしました(Webサイトからダウンロードされ、作曲家と共にインストールされません)。インストールプロセスは成功しましたが、.htaccessを除くpub / staticフォルダー内のすべてのファイルが欠落しています。つまり、すべてのcss、jsなどは、フロントエンドとバックエンドの両方に対して404を返します。

私はこれを運なしで修正しようとして数時間を費やしました。これは私がこれまでにやったことです:

  • Options Indexes FollowSymLinks AllowOverride/MAMP/conf/apache/httpd.confで「なし」から「すべて」に変更し、MAMPを再起動しました
  • LoadModule rewrite_module modules/mod_rewrite.sohttpd.confでコメント解除されていることを確認
  • MAMPで開発ドメイン(magento.dev)をセットアップします
  • php bin/magento setup:static-content:deployターミナルを使用してmagento.devルートで実行してみました。ただし、これは以下を返します。

致命的エラー:クラス 'Locale'が/Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.phpの64行目に見つかりません

  • コメントを外してRewriteBaseをRewriteBase /magento.devルートディレクトリの.htaccess-fileに変更しました。
  • Magentoを開発モードに設定する
  • キャッシュを手動でクリアしてphp bin/magento setup:static-content:deploy再実行する

ほとんどのガイドとフォーラムの投稿では、実行するように指示されていますphp bin/magento setup:static-content:deployが、正しく実行しているかどうかはわかりません。

OS:OSX 10.11.2

MAMPバージョン:3.5

PHPバージョン:7.0

Apacheバージョン:2.4.16

MySQLバージョン:5.6.25

任意の助けをいただければ幸いです。


CentOSサーバーにインストールされた2.2.2を使用しています。このページには何も機能しません。スタイルを設定するには、実行php bin/magento setup:static-content:deploy -f して80秒待機する必要があります。
クリスK

回答:


15

ソリューション#1(XMLファイルを編集する場合)

Magento 2 zipをからダウンロードし、phpmyadminmagentocommerce.com/download新しいdbを作成し、htdocsフォルダーにzipを抽出してください。Magento 2をインストールしますが、localhostを使用しないでください。ストアURLおよび管理URLで127.0.0.1を使用します。インストールが成功した後、magentoを実行しないでください。

次に、Magento 2のキャッシュとセッションをクリア/削除します。次のパスに移動して、すべてを削除します。

ROOT > var > cache > *DELETE ALL*
ROOT > var > page_cache > *DELETE ALL*
ROOT > var > session > *DELETE ALL*

Magento 2がプロダクションモードでない場合、ローカルサーバー上の一部の静的リソースのシンボリックリンクを作成しようとします。ROOT > app > etc > di.xmlファイルを編集して、Magento 2の動作を変更する必要があります。di.xmlお気に入りのコードエディタで開き、virtualType name="developerMaterialization"セクションを見つけます。以下のセクションでは、<item name="view_preprocessed" xsi:type="object">変更が必要なアイテムを見つけます。次のコンテンツを変更することで変更できます。

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

に:

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

最後のステップでは、で生成された古いファイルも削除します ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS

MAMP、EasyPHP DevServer、Xampp、およびWamppを使用してローカルホストで個人的に試し、Magento 2を正常にインストールして使用しました。さらに、このリンクを確認でき ます。

ソリューション#2

Composerをインストールします。次にmagentocommerce.com/download、Magento 2 zipをからダウンロードし、phpmyadminに新しいdbを作成し、htdocsフォルダーにzipを抽出します。Magento 2をインストールしますが、localhostを使用しないでください。ストアURLおよび管理URLで127.0.0.1を使用します。インストールが成功した後、magentoを実行しないでください。

Composerのインストールを確認し、静的コンテンツを展開し、Magentoキャッシュをクリア/フラッシュし、Magento 2ブロックのインデックスを再作成します。上記のすべてのアクションを実行するには、WINDOWS KEY + Rを押してRUNダイアログを開き、「cmd」と入力してコマンドプロンプトを開きます。

cd PATH_TO_YOUR_MAGENTO2_FILES」と入力して、Magento 2 ROOTディレクトリに入力します。

上記のディレクトリでComposerのインストールを確認するには、「composer install」と入力します。

このステップでエラーが発生した場合は、Composerのインストールを確認してください

このステップでは、Magentoストアに展開する静的コンテンツを設定します。これを実行するには、「php bin / magento setup:static-content:deploy」と入力します。

エラーが発生した場合は、PHP.EXEおよびPHP.INI環境変数を確認してください

CMDで「php bin / magento cache:flush」と入力して、Magentoキャッシュをクリア/フラッシュします。

最後に、Magento Static Blocksのインデックスを再作成するには、「php bin / magento indexer :reindex」と入力します。

Magento 2のインストールが正常に完了しました。


回答が編集されました。
ファイヤズハタック

すごい!ソリューション1を試してみましたが、うまくいきました。ありがとうございますKhatak sb
ムハンマドアゼム

ようこそ@MuhammadAzeem
Fayyaz Khattak

@RajaKhouryどういたしまして!
ファイヤズハタック

解決策1は私のために働く!ありがとうございます!!
ダニエルシルバ

5

以下のコマンドを実行してみてください

php bin/magento setup:static-content:deploy

また、このコマンドの実行中に、既に述べたようにファイルが見つからないなどのエラーが発生した場合は、プロジェクトのファイル構造と新しいmagento2ファイル構造を比較します。プロジェクトにファイルがない場合は、適切なファイルをプロジェクトにコピーします。

他のエラーが発生した場合は、誰かが質問に答えられるように、質問にエラーを投稿してください。


迅速な対応ありがとうございます。やります。このコマンドを正確にどこでどのように実行しますか?
スコフスガード

あなたの端末からこのコマンドを実行しますが、必ず端末からmagento2ディレクトリにあることを確認することができます@Skovsgaard
Keyurシャー

ファイルが欠落していないようです。インストールされたMagentoには、インストールプロセスに関連するファイルが含まれています。ルートディレクトリでFatal error: Class 'Locale' not found in /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64実行php bin/magento setup:static-content:deployした後、このエラーが表示されます。
スコフスガード

私は本当に役に立ちませんでした。ごめんなさい。
スコフスガード

2

PHPのintlコンソールバージョンに拡張機能がロードされていないようです。PHPのApacheバージョンとCLIバージョンに同じバージョン/設定を使用していることを確認してください。

MacOsXにはphpのプリインストールバージョンがあり、phpをインストールする一部のパッケージはターミナルセッションのシンボリックリンクを変更しません。その結果、異なるバージョンのphpを同時にインストールできます。

PS:Mac OSでvagrantを使用することを提案します。ファイル共有にnfsを使用すれば、かなりうまく機能しています。


あぁ!プリインストールされているphp(cli)は5.5.30のみです。Apacheがプリインストールされているのは2.4.16です(MAMPでApacheを個別にインストールする場合、MAMPのapacheバージョンを確認する方法がわかりません)。したがって、プリインストールされたバージョンを7に更新し、intl拡張機能(cliまたはmamp?)もインストールする必要がありますか?放浪者は私のような初心者にはあまりにも高度に見えます。
スコフスガード

Mac固有の質問に答えることはできませんが、PHPバージョンを確認するには少なくとも2つの方法があります:php -v(PHPコマンドが実行されるバージョンを表示します)およびphpinfo.phpを使用します。
スティーブジョンソン

さて、MAMPはPHP 7とApache 2.2.29を実行します。私のローカルマシンはPHP 5.5.30とApache 2.4.16を実行しています。次のステップは、ローカルマシンのPHPを7に更新することですか?
スコフスガード

php7バイナリへのフルパスを使用してみてください
-KAndy

2

他のすべてが失敗した場合は、これらのディレクトリを整理します。

rm -rf pub/static/*    # DO NOT DELETE .htaccess
rm -rf var/view_preprocessed/*
php bin/magento setup:static-content:deploy

これらのディレクトリでシンボリックリンクが壊れている場合、これは機能します。


1
.htaccessは削除しないでください。私もこの過ちを犯し、時間を無駄にした
Tahir Yasin

1

page_cache、di、view_process、cacheをクリアします

その後、フォルダとファイルに適切な許可を与えます。

次にphp bin/magento setup:static-content:deploy、ルートフォルダーから実行します。

pub / staticを確認してください。

これがあなたのお役に立てば幸いです。


どこでどのように実行しclear page_cache, di ,view_process, cacheますか?ローカルインストールなので、コンピューターの管理者スーパーとして、すべてのアクセス許可の読み取り/書き込みアクセス許可があります。私が知らない他の許可はありますか?
スコフスガード

あなたは、ルートフォルダに与える完全なアクセス許可よりもローカル使用している場合
denish vachhani

すべてのフォルダーはvar /にあり、すべてのフォルダーをクリアして、フォルダーに完全な権限を付与します。
ヴァッハニ16年

1

magento2ディレクトリにインストールcomposerして実行composer initしましたか?そうでない場合は、試してからコマンドを実行しますphp bin/magento setup:static-content:deploy


Composerは私のマシンにインストールされています。はい、Magento 2のインストールには使用しませんでした。ウェブサイトから.zipをダウンロードし、解凍してインストールしました。composer initcomposerを実行するとcomposer.json configをセットアップするように求められるので、それは役に立たないと思います。
スコブスガード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.