Ubuntuにyii2advancedをインストールするときに発生する落とし穴

1. Composerをインストールします#

https://www.yiichina.com/doc/guide/2.0/start-installation
Composer経由でインストール

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

解決

sudo vim /etc/php/7.2/cli/php.ini
zlib.output_compression = ON

インストールの成功

2. yii2 Advanced Version#をインストールします

yii2をインストールします

composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

エラー:

交換元:

composer config repo.packagist composer https://packagist.phpcomposer.com

エラー:

パラメータ-gグローバルを追加します

composer config -g  repo.packagist composer https://packagist.phpcomposer.com

yii2を再度インストールします

composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

ネットワーク接続モード、ブリッジモードを変更します

php-mbstringをインストールします

sudo apt-get install php-mbstring

ネットワーク接続タイムアウトを報告する

ブラウザでインストールパッケージアドレスを開きます
http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.2/php7.2-mbstring_7.2.9-1+ubuntu16.04.1+deb.sury.org+1_amd64.deb
アクセスできません、
別の複製された仮想マシンもオンになっていることがわかります。IPアドレスが競合している可能性があります。他の仮想マシンをオフにした後、このアドレスを開くことができます。


再度インストールし、エラーを報告します。

composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

実行:sudo apt-get install phpunitsudo apt-get install php7.2-xml

再度インストールすると、インストールは成功します

composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

3. nginxを構成する#

sudo vim /etc/nginx/sites-available/default
server {
  charset utf-8;
  client_max_body_size 128M;

  listen 80; ## listen for ipv4
  # listen [::]:80 default_server ipv6only=on; ## listen for ipv6

  server_name frontend.test;
  root        /home/jay/yii-application/frontend/web/;
  index       index.php;

  access_log  /home/jay/yii-application/log/frontend-access.log;
  error_log   /home/jay/yii-application/log/frontend-error.log;

  location /{
   # Redirect everything that isn't a real file to index.php
   try_files $uri $uri//index.php$is_args$args;}

  # uncomment to avoid processing of calls to non-existing static files by Yii
  # location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
  # try_files $uri =404;
        #}
  # error_page 404/404.html;

  # deny accessing php files for the /assets directory
  location ~^/assets/.*\.php$ {
   deny all;}

  location ~ \.php$ {
   include fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_pass 127.0.0.1:9000;
   # fastcgi_pass unix:/var/run/php5-fpm.sock;
   try_files $uri =404;}
    
  location ~*/\.{
   deny all;}}
     
 server {
  charset utf-8;
  client_max_body_size 128M;
    
  listen 80; ## listen for ipv4
  # listen [::]:80 default_server ipv6only=on; ## listen for ipv6
    
  server_name backend.test;
  root        /home/jay/yii-application/backend/web/;
  index       index.php;
    
  access_log  /home/jay/yii-application/log/backend-access.log;
  error_log   /home/jay/yii-application/log/backend-error.log;
    
  location /{
   # Redirect everything that isn't a real file to index.php
   try_files $uri $uri//index.php$is_args$args;}
    
  # uncomment to avoid processing of calls to non-existing static files by Yii
  # location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
  # try_files $uri =404;
        #}
  # error_page 404/404.html;

  # deny accessing php files for the /assets directory
  location ~^/assets/.*\.php$ {
   deny all;}

  location ~ \.php$ {
   include fastcgi_params;
   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   fastcgi_pass 127.0.0.1:9000;
   # fastcgi_pass unix:/var/run/php5-fpm.sock;
   try_files $uri =404;}
    
  location ~*/\.{
   deny all;}}

nginxを再起動します

sudo service nginx reload
sudo service nginx restart

エラーログを表示する

journalctl -xe

ファイルが存在しません
" /home/jay/yii-application/log/frontend-access.log" failed (2: No such file or directory)

解決策:ログフォルダーを作成します

nignx 403

解決策:yii-applicationを初期化します

~ /yii-application$ php init

ホストを構成する

http://backend.testを開きます
エラー502

php-fpmをインストールします
sudo apt-get install php7.2-fpm

php-fpmリスニングアドレスに問題があります。これは、nginxリスニングアドレス127.0.0.1:9000と一致している必要があります。
sudo vim /etc/php/7.2/fpm/pool.d/www.conf

php7.2-fpmを再起動します

sudo service php7.2-fpm restart

http://backend.testを開いて、ログインページにジャンプします

[ http://frontend.test/](http://frontend.test/)ウェルカムページにジャンプします

check php info
/ home / jay / yii-application / frontend / webディレクトリにtest.phpファイルを作成します

http://frontend.test/test.phpを実行します

4. mysqlを構成する#

mysqlサービスが開いているかどうかを確認します。localhost:mysqlはサービスが開いていることを意味します

sudo netstat -tap | grep mysql

start service

/etc/init.d/mysql start

stop service

/etc/init.d/mysql stop

mysqlを接続します

mysql -u root -p

エラーを報告する

ルートユーザーに切り替えます

sudo su root

mysqlに接続すると、接続は成功します

mysql -u root -p

そこにあるデータベースを見る

mysql> show databases

yii2によって構成されたデータベースを表示します。

yii2advancedデータベースを作成する

mysql> create database yii2advanced

ログインエラー、phpmysqlドライバーがインストールされていません

phpmysql拡張機能をインストールします

sudo apt-get install php7.2-mysql

再度ログインして、エラーを報告してください。

SQLSTATE[HY000][1698] Access denied for user 'root'@'localhost'

ユーザー名とパスワードを変更する

mysql -u root -p yii2advanced
mysql> select plugin from mysql.user where user ='root';
mysql>  update mysql.user set plugin='mysql_native_password';
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('abc123_') WHERE user='root';
mysql>  flush privileges;
mysql>  exit

mysqlに再度接続します

 mysql -u root -p yii2advanced

abc123_と入力します
着陸成功

#5. データベースにアクセスする
login
レポートテーブルが存在しません:{{%user}}が見つかりません
ユーザーテーブルを作成する

CREATE TABLE IF NOT EXISTS `user`(`id` INT UNSIGNED AUTO_INCREMENT,`status`varchar(100),`username`varchar(100),`password`varchar(50),`email`varchar(50),`password_hash`varchar(200),`password_reset_token`varchar(200),`auth_key`varchar(50),`created_at`varchar(50),`updated_at`varchar(50),
 PRIMARY KEY(`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8;

登録エラー:

Setting unknown property: common\models\User::password_hash

giiで生成されたコード
http://127.0.0.1/index.php?r=gii

エラー:

Unable to write the file /yii-application/backend/models/Test.php'.

権限の設定

sudo chmod -R 0777 backend

CURD

正常に生成されました

ファイルディレクトリを表示

http://backend.test/index.php?r = test / indexにアクセスします

phpMyAdminクエリユーザーテーブルエラー

$ sudo vim /usr/share/phpmyadmin/libraries/sql.lib.php
現れる

( count($analyzed_sql_results['select_expr'] == 1)
1
次の文と同じになるように変更してください〜

( count($analyzed_sql_results['select_expr']) == 1

登録済み、正常にログイン

データはデータベースに挿入されます

著者:[** Jackson0714 **](http://www.cnblogs.com/jackson0714/)
出典:[http://www.cnblogs.com/jackson0714/](http://www.cnblogs.com/jackson0714/)
著者について:Microsoftプラットフォームでのプロジェクト開発に焦点を当てます。ご質問やご提案がございましたら、教えてください!
著作権に関する声明:この記事の著作権は著者とブログガーデンに帰属します。再印刷は大歓迎ですが、この声明は著者の同意なしに保持する必要があり、元のテキストへのリンクは記事ページのわかりやすい場所に記載する必要があります。
ここに宣言します:すべてのコメントとプライベートメッセージはできるだけ早く返信されます。また、間違いを訂正し、一緒に進歩するために庭のすべての人を歓迎します。または[ダイレクトプライベートメッセージ](http://msg.cnblogs.com/msg/send/jackson0714)私

Recommended Posts

Ubuntuにyii2advancedをインストールするときに発生する落とし穴
UbuntuにPythonモジュールをインストールするときにエラーが発生しました
Ubuntu18.04にVMwareToolsをインストールする問題を解決します
Ubuntu16.04にMongodbをインストールする最新の方法
Ubuntu19にTheanoをインストールする問題を解決します
ubuntuインストール時の黒い画面の解決策(3種類)
ubuntuドリームウィービングDEDEにGDプラグインOFFをインストールする際の問題
Ubuntuに最新のPython3.6バージョンをインストールします
ubuntu18用のpython3.7のインストールに関する詳細なチュートリアル
Ubuntu16.04にフラットテーマをインストールします
UbuntuにNeoVimをインストールする:最も簡単な方法
Ubuntu16.04にCUDA9.0をインストールするための詳細なチュートリアル
Ubuntu18.04にphpMyAdminをインストールするための詳細なチュートリアル
小さなチュートリアル:Ubuntuのディスクを一覧表示する
Ubuntu20.04でホスト名を変更する方法
UbuntuにCaffeのCPUバージョンをインストールします
ubuntuにgooderpをインストールするための究極のガイド
ubuntuのファイアウォールをオフにしてからオンにします
Ubuntu14.04で解析サーバーを実行する方法
UbuntuにインストールされているJDKを確認する方法
Ubuntu18.04に最新のMySQLをインストールする方法