最近phpをいじり始めたのですが、最近laravelが流行っているのでそれです。 PHP の初心者にとって、このフレームワークに直接触れるのは非常に簡単ではありません。私が以前 Python に触れていたとき、Django フレームワークは公式 Web サイトのドキュメントを見ましたが、ほとんど書かれておらず、あまり良くないと思いました。 Laravel のドキュメントを見るまで、倒錯とは何なのか知りませんでした。基本的な知識がない人がインストールしてうまく使用することは基本的に困難です。そして、PHP の基礎を持っている人でも、依然としてさまざまな問題を抱えています。その主な理由は、設定ドキュメントが十分に直感的に記述されていないことです。おそらく、作成者はそれが簡単すぎると考えており、「これは非常に簡単です...」と考えています。 laravelの中国語サイトのドキュメント翻訳を読んでみると、少しは良くなった気がしますが、直訳なので原文の翻訳も下手です。これは翻訳の問題ではなく、ソースの問題です。 、紹介文書を2日間読んだ後、著者と同じように、彼らはとても素晴らしいように思えますが、最も直接的な影響は、一体どうして突然こんなことになったのでしょうか?プロセスについてはどうですか? 、古すぎたり、バージョンが遅れたり、インストール方法や設定方法が変わって使えないものもあるので、私も初心者でインストールしか触れていない体験談を公開します。シンプルで実用的なルーター、midd、control、bladetemple、結局のところ、私はまだ PHP を学んだばかりで、Linux の以前の知識、Django フレームワークの知識に依存するプロセスは非常に苦痛です。 HTMLとCSSの基礎知識を身につけて、ようやくLaravelを始めました。 まずは、まず! 私のような人間を大事にするために、少しでも皆さんのお役に立てればと思い、メモを書きました。 --ところで、私が言いたいのは、この文書をもっと良く書くべきだ、ということです。他の人がどう感じるかについてもっと考えてください。作者や翻訳者の皆さんの貢献は有益ですが、あなたほど優れた PHP フレームワークを使用できるのはあなただけです。私たちは優れた PHP フレームワークを知っています。ありがとう。
これまでのところ、Laravel はバージョン 5.1 であり、PHP 5.59 以降が必要です
The Laravel framework has a few system requirements. Of course, all of these requirements are satisfied by the Laravel Homestead virtual machine: * PHP >= 5.5.9 * OpenSSL PHP Extension * PDO PHP Extension * Mbstring PHP Extension * Tokenizer PHP Extension
ubuntu 14.2 64 ビット (主に、PHP パッケージのバージョンが laravel を満たすのに十分高いため、開発用)要件)
apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-curl php5-gd php5-json php5-mysqlnd opensslapt-get install mysql-server libapache2-mod-auth-mysql php5-mysql curl基本上这里安装完成,larvel的所需东西都齐全了。
laravel は、laravel のインストールを含むパッケージの依存関係管理に Composer を使用するため、composer https://getcomposer.org/
もインストールする必要があります。あまり多くのことを知る必要はありません。使用方法とインストール方法を知っておくだけで十分です ブロックされずにこれら 2 つのコマンドを実行します
curl -sS https://getcomposer.org/installer | php #下载composer安装文件并使用php执行,以便生成一个composer.phar包mv composer.phar /usr/local/bin/composer # 将生成的composer包放到一个存放命令包的目录,以便系统的$PATH能够搜索到这个命令,这样就可以在命令行直接使用composer命令了。
chmod +x /usr/local/bin/composer
composer global require "laravel/installer=~1.1"
export PATH=$PATH:/root/.composer/vendor/bin/
不建议:/etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 不建议: /etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。 建议:~/.profile : 在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 不建议: /etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 建议~/.bashrc : 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
cat ~/.profile # ~/.profile: executed by Bourne-compatible login shells.if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fifimesg nexport PATH=$PATH:/root/.composer/vendor/bin/
ステップ 4: laravel アプリケーション プロジェクトを作成する
laravel new blog
新しいコマンドを実行して、アプリを作成します。app は実際には Web サイトアプリケーションのディレクトリです
このプロジェクトのディレクトリ構造は次のとおりです:
tree -d -L 1 /root/blog//root/blog/├── app├── bootstrap # 需要有apache的写入权限 ├── config├── database├── public #apache的document目录需要指向它├── resources├── storage # 需要有apache的写入权限├── tests└── vendor
新しく作成された Laravel プロジェクトのルートディレクトリには次のサブディレクトリが含まれます:
app 目录:如你所料,包含应用程序的核心代码。我们之后将会很快深入地探讨这个目录的细节。bootstrap 目录:包含的几个文件用于启动框架和配置自动加载功能,还有一个 cache 目录,用于存放框架自动生成的文件,能够加速框架启动。config 目录:顾名思义,包含所有应用程序的配置文件。database 目录:包含了数据库迁移与数据填充文件。如果你不介意的话,也可以将 SQLite 数据库文件存放在这个目录中。The public directory contains the front controller and your assets (images, JavaScript, CSS, etc.). public 目录包含前面的控制器和你的资源文件 (图片、JavaScript、CSS,等等)。resources 目录:包含你的视图、原始的资源文件 (LESS、SASS、CoffeeScript) 和本地化语言文件。storage 目录:包含编译后的 Blade 模板、基于文件的 session、文件缓存和其他由框架生成的文件。此目录下面包含三个子目录:app、framework 和 logs。app 目录用户存放应用程序所用到的任何任何文件;framework 目录用于存放由框架生成的文件和缓存文件;最后,logs 目录用于存放应用程序的日志文件。tests 目录用于存放你的自动化测试文件。Laravel 默认自带了一个 PHPUnit 的实例。vendor 目录用于存放 Composer 的依赖包。
ステップ 5: Apache を構成する
The framework ships with a public/.htaccess file that is used to allow URLs without index.php. If you use Apache to serve your Laravel application, be sure to enable the mod_rewrite module.
したがって、以下に apache で使用されるすべての設定が含まれています
1 仮想ホストを設定します
ubuntu の Apache インストール ディレクトリは/etc/apache2/
Listen 8011
ls /etc/apache2/sites-enabled/000-default.conf
cp 000-default.conf testsite.conf
cat /etc/apache2/sites-enabled/testsite.conf <VirtualHost *:8011> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com DocumentRoot /var/www/html/laravel-v5.1.4/public #这里laravel new blog的话会在本地创建目录,需要将整个blog目录移到apache的documentroot目录里,这样apache才能识别。 # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf</VirtualHost>
/apache2.conf で
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted</Directory>
3. 権限を確認します
ubuntu の Apache は www-data ユーザーを使用して実行されているためです。
chown -R www-data /var/www/html/laravel-v5.1.4/
service apache2 start
访问http://XXXX:8011即可看到有larave的字样出现,代表安装配置成功。
1.检查apache2的日志
/var/logs/apache2/ 的access.log和error.log
2.关闭selinux和iptables
3.这里我只是列出了安装的必须项,其他的都是非必须项目,可以自行参考官网文档,剩余的那些就基本上可以看得懂了,即使我这样的人。
参考:
官网
http://laravel.com/
http://laravel.com/docs/5.1
中文网
http://www.golaravel.com/
composer官网
https://getcomposer.org/doc/00-intro.md
原文引用:
http://www.godblessyuan.com/2015/07/20/laravel5-1_install_tutorial/