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
インストールの成功
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
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を実行します
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