条件搭建以及,Laraver环境搭建

by admin on 2019年1月31日

1.php运行条件搭建

在阿里云的ECS上安排Laravel项目

在搭建完LEMP环境之后,首先要了解多少个重大目录

  • Nginx的默认root文件夹
    /usr/share/nginx/html

  • Nginx的服务器配置文件所在目录
    /etc/nginx/sites-available/

上面五个目录记住就好,很常用,先摆出来

上边一步一步在阿里云ECS上布署Laravel

1.WampServer安装

WampServer是windows系统php+mysql+apache的三合一安装包,自带控制台,适合新手学习php使用百度搜索WampServer,下载最新版本,拔取目录,然后径直下一步就足以了。
设置完桌面上多了个wamp图标,双击后apache和mysql服务就都启动了。打开浏览器,输入localhost。会跳出主界面。端口默许是:80。
Laravel对于PHP环境及版本有须求,其中环境要求打开openssl,mbstring,pdo扩大,正常情形下wamp应该早就打开了那几个扩大,以免意外,可以检查三次,打开php安装目录下的php.ini或者控制台里php.ini可以一贯修改。

Atiti. Php
Laravel
5.1
环境搭建以及  error 排除

在win10连串上拓展搭建的,使用的是wamp环境  wampserver3_x86_apache2.4.17_mysql5.7.9_php5.6.15.exe,安装包中集成了apache 
 mysql  php

1.开立网站的根目录

sudo mkdir -p /var/www

2.Laravel环境搭建

 

以管理员身份运行wamp,否则在AUC会阻止服务启动

2.配置nginx服务器

sudo vim /etc/nginx/sites-available/default

修改完是这么的:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/laravel/public;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }
}

末尾我们还亟需安顿一下Nginx,让其执行PHP文件。同样是在那几个文件里,在location下方添加上边的布署:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/laravel/public;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

布局完之后重启Nginx,使地点的布署项生效。

sudo service nginx restart

2.1 Composer安装

Laravel使用Composer来治本其借助,所以要先安装Composer。Composer安装方法可参照那篇文档:https://pkg.phpcomposer.com/\#how-to-install-composer。
提出全局安装。要在控制毕尔巴鄂拔取composer命令,必要将Composer及PHP的可执行文件(.exe/.bat)所在目录配置到系统环境变量Path中。

 

2.部署Laravel 5.4

3.创建Laravel项目

在配置完nginx后,怎么获取Laravel的体系代码呢?有以下二种办法:

2.2 Laravel安装

打开cmd
进入你要设置的目录下,输入下边的吩咐,把hellolaravel替换成你的花色名,就会自行安装laravel最新版本了。

composer create-project laravel/laravel hellolaravel

wamp的设置路径为是wamp/www/
假诺把品种设置在www目录下,打开浏览器,输入localhost/laravel/hellolaravel
,突显laravel界面,表示安装成功了。

 

Laravel 5.4 版本的必要5.6.4以上版本的php环境

(1).直接composer安装

直白通过composer来安装,你可以在CES上经过推行

cd ~
curl -sS https://getcomposer.org/installer | php

地点命令会安装composer
composer全局使用:

sudo mv composer.phar /usr/local/bin/composer

下一场在/var/www目录下直接实施

sudo composer create-project laravel/laravel laravel

因为我们以前成立/var/www目录,你能够直接cd
/var/www然后执行下面的通令。然后坐等安装到位。

2.3 最不难易行的一键安装

http://laravelacademy.org/resources-download
开拓上面的网址,选拔要下载的laravel版本,下载后把减掉包解压到wamp/www目录下,若是把项目命名为laravel,打开浏览器,输入locolhost/laravel/public就能突显laravel页面了。下载时只顾分歧laravel版本对php版本有要求。近来前卫版5.5渴求php版本大于等于7.00。5.4版本需要PHP版本大于5.6.4

  1. php_5.6.11_apache2.41

从git上下载Laravel 5.4版本的代码解压缩到wamp的www目录下

(2).直接上传代码

动用上面发号施令上传

scp -r laravel root@168.32.123.101:

下一场在阿里云的ECS少将laravel移动到/var/www目录下

sudo mv laravel/ /var/www

其他题材可参看下边多少个网址

Laravle:
http://laravelacademy.org/post/306.html
Composer:
http://docs.phpcomposer.com/00-intro.html

1.1. Httpd。Conf增添以下配置,添加php帮衬1

下载安装Composer-Setup.exe,因为Laravel 是内需composer格局举办设置的

(3).使用Git和Coding平台

创建laravel项目

个体相比较欣赏使用git来上传代码,可以很便利的创新代码和拓展回滚,一旦版本更新出Bug我得以凭借Git的强硬版本管理能力来修复Bug。流程大概是这么:

本地代码---->Coding---->阿里云ECS

既然如此要选拔git,那么先在ECS上设置git:

sudo apt-get install git

设置到位就可以使用git了,然后在Coding上开创一个私房项目laravel,里面含有所有该Laravel项目所需代码。

假设本地代码都推送到Coding,然后在/var/www目录下直接使用

git clone Git地址

下载完后,将composer 安装到花色中

composer install --no-dev

1.2. 修改apache地点与体系位置以及权限1

设置完composer后,使用cmd命令切换来wamp下的www目录下实施安装命令:

4.配置Laravel项目

服务器拉取下来的代码。默许没有.env文件,创立并配置一下

cp .env.example .env
vi .env

修改.env配置

APP_ENV=production
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_POST=3306
DB_DATABASE=aiyou_test
DB_USERNAME=root
DB_PASSWORD=root

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
DERIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525

然后更新下项目key

php artisan key:generate

品种目录运行

1.3.
修改php。Ini。增加mbstring,openssl,mysql,rewriting的支持 extension_dir
= “C:\wamp\php_5.6.11_XiaZaiBa\ext”2

composer install

5.末尾的末尾

条件搭建以及,Laraver环境搭建。不论哪个种类形式安装的代码,/var/www/都是属于root用户的,而访问网站的用户则须求科学的权力和访问限制,大家得以因而下边的吩咐来完毕。

sudo chown -R :www-data /var/www/laravel

基于Laravel的法定文档,/var/www/laravel/app/storage目录要求给网站的用户写权限

sudo chmod -R 775 /var/www/laravel/app/storage

那时候或许会报错 下边给出解决措施

502报错
启动php-fpm
sudo service php5.6-fpm restart
启动nginx
sudo service nginx restart

//给权限
sudo chown -R :www-data /var/www/aiyouTest
sudo chmod -R 775 /var/www/aiyouTest/storage

//清除缓存
php artisan cache:clear

//更新
root@iZ250lpr4xoZ:~# composer require fxp/composer-asset-plugin
root@iZ250lpr4xoZ:/var/www/aiyouTest# composer install
root@iZ250lpr4xoZ:/var/www/aiyouTest# composer update

composer 更新不了报错(PHP Warning: proc_open(): fork failed – Cannot
allocate memory ..)

df -h
dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo 'echo "/swapfile none swap defaults 0 0" >> /etc/fstab' | sudo sh

free -m
  1. 颠倒是非排除2

机动下载Laravel须求的有关组件

6.输出

在浏览器输入:

http://localhost

2.1.
laravel
5.1 unexpected
T_STRING Illuminate Contracts—Http Kernel lass2

访问 出现至极

7.开启PHP扩展

extension=php_openssl.dll

extension=php_mbstring.dll

extension=php_pdo_mysql.dll

2.2. httpd.exe: Syntax error
on line 531 of C:/Apache24/conf/httpd.conf: Cannot load
c:/php56/php5apache2_4.dll into server:
\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa33

bf88必发唯一官网 1

2.3. started.httpd:Syntax
error on line 60 of D:/apache2/conf/httpd.conf:Cannot load
D:/apache2/modules/mod_actions.so into
server:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\条件搭建以及,Laraver环境搭建。xb8\xb6\xa8\xb5\xc4\xa3\xbf\xe9\xa1\xa33

 

2.4. Fatal error: Call to
undefined function
Illuminate\Foundation\Bootstrap\mb_internal_encoding4

 出现至极的因由是没有生成注册KEY

2.5. apache documentroot指向htcdoc之外提醒403谬误的化解方法5

亟待修改www目录下的.env.example文件改名为
.env,直接改名称会不能保存,使用cmd命令进行改动名称:

2.6. 开启框架调试情势7

rename  .env.example .env

  1. 配置Redis7

修改完执行生成key的下令:

3.1.1.
rediswindows官方下载|Redis for Windows下载
2.6.13 稳定版 – …8

php artisan key:generate

3.2. 数据库配置8

bf88必发唯一官网 2

  1. –fihi是、9

实践完会将base64:vU2QLhJoNqKCwq3UwYQVSge97dRag/e4Ff8/8dQhw7A= 添加到.env
中的APP_KEY中

 

走访网站 出现转手非凡

1.  php_5.6.11_apache2.4

bf88必发唯一官网 3

1.1. Httpd。Conf扩充以下配置,添加php帮忙

LoadModule
php5_module  “c:/wamp/php_5.6.11_XiaZaiBa/php5apache2_4.dll”

AddType
application/x-httpd-php .php

 

PHPIniDir
“C:\wamp\php_5.6.11_XiaZaiBa”

 

 

1.2. 修改apache地方与连串地点以及权限

Define
SRVROOT “/Apache24”

DocumentRoot
 “${SRVROOT}/htdocs/eform/public”

<Directory
“${SRVROOT}/htdocs/eform/public”>

    AllowOverride
all

   Require
all granted

</Directory>

还要修改Apache24\conf\extra\httpd-vhosts.conf

<VirtualHost _default_:80>
#DocumentRoot “${SRVROOT}/htdocs”
DocumentRoot “d:/www”
#ServerName www.example.com:80
</VirtualHost>
小编::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转发请注解来源: 

 

 

1.3. 修改php。Ini。增加mbstring,openssl,mysql,rewriting的支持 extension_dir = “C:\wamp\php_5.6.11_XiaZaiBa\ext”


PHP >= 5.5.9 – OpenSSL PHP 扩展 – PDO PHP 扩展 – Mbstring PHP 扩展 –
Tokenizer PHP 扩展

 

案由是绝非打开openssl功效

2. 漏洞万分多排除

找到php.ini

2.1. laravel 5.1 unexpected T_STRING Illuminate Contracts—Http Kernel lass

 

Parse
error
: syntax
error, unexpected T_STRING in C:\wamp\www\eform\public\index.php on line 50

bf88必发唯一官网, 

$kernel
= $app->make(Illuminate\Contracts\Http\Kernel::class);//This is
line 50

the ::class is
only supported since PHP
5.5

Also
you must have mistakingly installed laravel 5.1+ because that’s the only
version to require php 5.5+

 

 

Laravel
5.1 requires PHP 5.5.9 

解决。下载  php_5.6.11_XiaZaiBa

其间要求php5apache2_4.dl,需要apache2.4

 

在运转Apache24/bin目录下运作httpd.exe
-t时,假若现身如下错误提醒新闻:

;extension=php_openssl.dll改为extension=php_openssl.dll

2.2. httpd.exe: Syntax error on line 531 of C:/Apache24/conf/httpd.conf: Cannot load c:/php56/php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

 

是由于php5apache2_4.dll动态链接库文件的本子与眼前的php版本或Apache版本不协作。32位64位。

通过loadpe查看
php5apache2_4.dll信息,是32位的,下载32为的apathc2.4

 

重启服务

2.3. started.httpd:Syntax error on line 60 of D:/apache2/conf/httpd.conf:Cannot load D:/apache2/modules/mod_actions.so into server:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xa3\xbf\xe9\xa1\xa3

errors
reported here must be corrected before service can be

原因:

自家也蒙受了这么些难题,确实是出于配备ServerRoot不当导致的,仔细看了瞬间conf文件之中有一个声明ServerRoot:
The top of the directory tree under which the
server‘s等等,应该是Apache文件夹只好放在磁盘根目录下,无法放在文件夹中,不然会招致非目录错误或楼主的标题。

 

Define SRVROOT “/Apache24”
ServerRoot “${SRVROOT}”
将${SRVROOT}
改成你的apache安装目录
比如 我的装置目录是 在F盘中
所以改后是那样的
Define SRVROOT “/Apache24”
ServerRoot
“F:/Apache24”

 

在访问 

2.4. Fatal error: Call to undefined function Illuminate\Foundation\Bootstrap\mb_internal_encoding

10down vote

had the same problem, solution is to enable the mbstring php extension:https://laracasts.com/discuss/channels/general-discussion/call-to-undefined-function

In my case (AMPPS), I had to disable and reenable it + apache restart.

 

 

Configuration File (php.ini) Path

C:\Windows

 

PHPIniDir
“D:\wamp\bin\php\php5.4.3”

Configuration File (php.ini) Path

C:\Windows

Loaded Configuration File

C:\wamp\php_5.6.11_XiaZaiBa\php.ini

 

extension_dir =
“ext”   cantloasd ,use   “./ext” hesh cant ..

extension_dir =
“C:\wamp\php_5.6.11_XiaZaiBa\ext”   zash ok le ..

 

 首先用phpinfo测试页面看一下有没有装载mbstring, 

mbstring

Multibyte Support

enabled

Multibyte string engine

libmbfl

HTTP input encoding translation

disabled

libmbfl version

1.3.2

 

 

 

bf88必发唯一官网 4

2.5. apache documentroot指向htcdoc之外提示403荒唐的缓解措施

 

新兴察觉,原来又是Apache没配置
好,是apache的mod_authz_host模块在起决定作用。
1.假使不启用vhosts 
只需修改
httpd.conf
默许Directory节如下,注意灰色部分,表示目录/usr/local/apache/htdocs允许持有
主机访问

 

一、访问控制

在Apache2.2本子中,访问控制是根据客户端的主机名、IP地址以及客户端请求中的其余特色,使用Order(排序),
Allow(允许), Deny(拒绝),Satisfy(满意)指令来兑现。

Apache2.4版本中,使用mod_authz_host那么些新的模块,来完成访问控制,其余授权检查也以同样的章程来成功。旧的访问控制语句应当被新的授权认证机制所代表,即便Apache已经提供了mod_access_compat这一新模块来协作旧语句。

此处有一些实例,用新格局取代旧语句达成平等的访问控制

:常见访问控制指令

复制代码代码如下:

Require all granted
#同意持有
Require all denied
#驳回所有
Require env
env-var [env-var] … #允许,匹配环境变量中随心所欲一个
Require method
http-method [http-method] … #允许,特定的HTTP方法
Require expr
expression #允许,表明式为true
Require user
userid [ userid ] … #同意,特定用户
Require group
group-name [group-name] … #同意,特定用户组
Require valid-user
# #允许,有效能户
Require ip
10 172.20 192.168.2 #允许 特定IP

 

在国外的网站上搜了好长时间终于找到难题了。
还要修改Apache24\conf\extra\httpd-vhosts.conf

<VirtualHost _default_:80>
#DocumentRoot “${SRVROOT}/htdocs”
DocumentRoot “d:/www”
#ServerName www.example.com:80
</VirtualHost>

瞩望对后来者有扶持

 

 

2.6. 拉开框架调试格局

Config、app.php

 

    ‘debug’
=> true,

//env(‘APP_DEBUG’,
false),

ok现在可以访问Laravel ,表达大家Laravel 5.4运行环境已经配备完了。

3. 配置Redis

前方大家曾经关系Redis可以用作主数据库,所以Laravel中Redis的布署信息位于config/database.php 中:

‘redis’ =>
[  ‘cluster’ =>
false,
 ‘default’ =>
[    ‘host’ =>
‘127.0.0.1’,
   ‘port’ =>
6379,
   ‘database’ =>
0,
 ],

],

其余Redis借使是当做缓存工具,还索要在 config/cache.php 配置 redis 选项:

‘redis’ =>
[

    ‘driver’ =>
‘redis’,

    ‘connection’ =>
‘default’,

],

那边的 connection 对应 config/database 中 redis 的默许主机 default 配置。

成功上述配置之后我们就足以在行使代码中行使Redis举行数量存取了。

 

3.0.1. rediswindows官方下载|Redis for Windows下载 2.6.13 稳定版 – …

下载地址   大小: 1.13 MB   更新时间: 2013-06-13

 

 

 redis是一个key-value存储系统.和Memcached类似,它协助存储的value类型相对越多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)…

www.newasp.net/soft/67…  – 百度快照

 

3.1. 数据库配置

PHP数组,该配置文件提供了各样数据库可能用到的配置。connections 里带有了数据库配置。修改’default’ => ‘mysql’,参数可以拔取必要接纳的数据库。

1. ‘mysql’ =>
[

2.     ‘driver’    =>
‘mysql’,

3.     ‘host’      =>
env(‘DB_HOST’,
‘localhost’),

4.     ‘database’  =>
env(‘DB_DATABASE’,
‘forge’),

5.     ‘username’  =>
env(‘DB_USERNAME’,
‘forge’),

6.     ‘password’  =>
env(‘DB_PASSWORD’,
”),

7.     ‘charset’   =>
‘utf8’,

8.     ‘collation’ =>
‘utf8_unicode_ci’,

9.     ‘prefix’    =>
”,

10.     ‘strict’    =>
false,

11. ],

上面是默许的MySQL配置项,’host’ => env(‘DB_HOST’,
‘localhost’),中env()方法就是读取.env文件中的配置项,它的第四个参数是默许值。当然也得以通过’password’ =>
‘password’,直接配置,不过假如我们把品种存放到GitHub上时,这么做肯定是不安全的。可以因而读取.env安排文件中的配置,然后把.env配备文件设置为不交付来缓解,那也是经过.env布局文件来安插的一个利益。

开辟项目根目录下的.gitignore文本,可以见到.env默许是不会被交付的。

 

 

参考

[Laravel
5 教程学习笔记] 六、环境与布局 _ Specs’ Blog-就爱PHP.html

 

 

4. –fihi是、

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图