威尼斯手机平台登陆-官方网站登录

威尼斯手机平台登陆为您带来世界三大博彩公司最新相关资讯,威尼斯官方网站登录充分考虑到不同地域网民的不同需求,威尼斯手机平台登陆良好的用户界面,人性化的操作,实用的功能设计使其广泛受到欢迎,推动实体出版、影视、动漫、游戏等相关文化产业的发展。

您的位置:威尼斯手机平台登陆 > 最新留言 > 付费投稿计划,它为你提供了一个完美的开发环境

付费投稿计划,它为你提供了一个完美的开发环境

发布时间:2020-04-21 16:53编辑:最新留言浏览(197)

    本文由码农网 – 邱康原创翻译,转发请看清文末的转发必要,招待参与大家的付费投稿安插!

    ( 以下的装置进程简书是以5.4文书档案的Homestead的设置进度进展详尽改善而成,原作请链接: 

    Laravel 致力于让 PHP 的用渡进程更是轻巧欢腾,那之中也囊括你的当地开采情形。Vagrant提供了一种轻巧,崇高的主意来治本和泰然自若虚构机。

    Laravel Homestead 是一个官方预封装的 Vagrant box,它为您提供了贰个周密的开销意况,你无需在该地安装 PHP ,web 服务器,或其余服务软件。而且永不操心系统被搞乱! Vagrant box 是全然一遍性的。若是有啥地点出错了,你也得以在几分钟内销毁天公地道建 box !

    Homestead 能够运作在 Windows 、 Mac 或 Linux 系统上,并且当中满含了 Nginx Web 服务器、 PHP 7.1 、 MySQL 、 Postgres 、 Redis 、 Memcached 、 Node 、 甚至全数助于你付出 laravel 应用的其余程序。

    如若您是 Windows 客户,你大概需求启用硬件虚构化(VT-x)。那通常须要通过 BIOS 来启用它。假诺您在三个 UEFI 系统上运用的是 Hyper-V,你要求关闭 Hyper-V 技能启用 VT-x。

    放到软件#

    Ubuntu 16.04

    Git

    PHP 7.1

    Nginx

    MySQL

    MariaDB

    Sqlite3

    Postgres

    Composer

    Node (With Yarn, Bower, Grunt, and Gulp)

    Redis

    Memcached

    Beanstalkd

    Mailhog

    ngrok

    设置与安装#

    第一步# (本步骤正是设置虚构机<VirtualBox 5.1或VMWare或Parallels>和设想机的管理工具<Vagrant>,提醒机子必得扶植虚构技艺,且通过blos开机选项开启

    在您运转你的 Homestead 蒙受从前,你必需安装VirtualBox 5.1、VMWare或Parallels的其中之一,以至Vagrant。那么些软件在依次常用的平台都有提供轻松易用的分界面安装包。

    若要使用 VMware provider,你必要同期购买 VMware Fusion / Workstation 以致VMware Vagrant plug-in. 的软件授权。使用 VMware 能够在分享文件夹上赢得不慢的习性。

    若要使用 Parallels provider,你供给安装Parallels Vagrant plug-in。那是无偿使用的。

    安装 Homestead Vagrant Box#

    当 VirtualBox / VMware 以至 Vagrant 安装到位后,你利用以下命令将 laravel/homestead 那么些 box 安装进你的 Vagrant 程序中。 box 的下载会费用你或多或少时刻,具体的下载时长由网络速度决定:

    vagrant box add laravel/homestead (其一过墙太恶心了,所以最佳是先下载好国内的box再实践 “vagrant box add laravel/homestead D:/downloaad/laravel.box”  ;此中的 D:/downloaad/laravel.box 是刚刚聊到事情未发生前下载好的box包在本地的相对地址,安装完后交易会示已安装完的box的相关音讯

    倘诺上边的吩咐运转战败,代表你利用的大概是旧版的 Vagrant,请升级你的 Vagrant。

    安装 Homestead#

    你能够透过手动克隆代码货仓的章程来安装 Homestead。建议将代码客栈克隆至「home」目录中的 Homestead 文件夹,如此一来 Homestead box 就会将主机服务提须要您有所的 Laravel 项目:

    cd~git clone Homestead  

    是因为 Homestead 的master分支并非谐和分支,你应该检出已经标签过的地西泮团结版本。你能够在Github Release Page找到最新的安居版本。

    cd Homestead// 检出所供给的版本...git checkout v4.0.5 (window系统最佳不要采取该句,因为使用该句后,相应的init.bat初叶化出标题,可以不举行)

    倘若您克隆完 Homestead 的代码旅馆,就可以在 cmd 转到你的 Homestead 目录中运作bash init.sh命令 来创设Homesstead.yaml配置文件。Homesstead.yaml文件会被放置在您的 Homestead 目录中:

    // Mac / Linux...

    bash init.sh

    // Windows...

    init.bat

    配置 Homestead#

    配备你的提供者#

    使用powershell 转到 Homestead目录 执行

    ssh-keygen -t rsa -C "laravel/homestead"  (window的cmd不能够施行该语句的。注意分寸写,注意box安装时的,名字,假诺不清楚名字能够应用vagrant list 来查阅)

    config.ssh.username = "vagrant"

    config.ssh.password = "vagrant"

    config.ssh.insert_key = false

    Homestead.yaml中的provider参数设置决定于你用的是哪贰个 Vagrant 提供者virtualbox、vmware_fusion、vmware_workstation,或许parallels。你能够依照自身的喜好来设置提供者:

    provider:virtualbox

    布置分享文件夹#

    您能够在Homestead.yaml文件的folders属性里列出富有想与 Homestead 情形分享的公文夹。这一个文件夹中的文件若有变动,它们将会在您的本机Computer与 Homestead 情形自动更新同步。你可以在那处设置三个分享文件夹:

    folders:-map:~/Code      to:/home/vagrant/Code

    若要运营NFS,只必要在分享文件夹的设置值中步入三个轻巧的参数:

    folders:-map:~/Code          to:/home/vagrant/Code          type:"nfs"

    你也足以在布署中传送任何 Vagrant 中的分享文件夹协理的参数,在options参数下列出它们:

    folders:-map:~/Code      to:/home/vagrant/Code      type:"rsync"options:rsync__args:["--verbose","--archive","--delete","-zz"]rsync__exclude:["node_modules"]

    配置 Nginx 站点#

    对 Nginx 不纯熟吗?无妨。sites属性能够协助您能够Infiniti定钦赐贰个域名来对应到 homestead 环境中的七个索引上。在Homestead.yaml文件中已包蕴了三个网址设置范本。雷同的,你也能够扩张多少个网址到你的 Homestead 意况中。 Homestead 能够并且为多个 Laravel 应用提供虚构化情况:

    sites:-map:homestead.app      to:/home/vagrant/Code/Laravel/public

    若是你在 Homestead box 配置之后改进了sites属性,那么应该再度运维vagrant reload --provision来更新 Nginx 配置到设想机上。

    关于 Hosts 文件#

    您必须将要 Nginx sites 中所增添的「域名」也丰盛到您本机计算机的hosts上。hosts文件会将呼吁重定向至 Homestead 条件中设置的本地域名。在 Mac 或 Linux 上,该公文平常会存放在/etc/hosts。在 Windows 上,则寄放于C:WindowsSystem32driversetchosts。设置剧情如下所示:

    192.168.10.10homestead.app

    非得确认 IP 地址与Homestead.yaml文件中安装的一律。将域名设置在hosts文件自此,你就足以经过网页浏览器访问你的网址。

    启动 Vagrant Box#

    编辑完Homestead.yaml后,踏入你的 Homestead 目录并运行vagrant up命令。 Vagrant 就能依靠Homestead.yaml里的配备音讯,为设想机设置分享文件夹和 Nginx 网址。

    假设要移除设想机,你还行vagrant destroy --force命令

    为各种项目分别安装#

    除去全局使用同三个 Homestead 碰着, Homestead 还允许你为品种独立陈设多少个操纵的 Homstead 。

    通过传递Vagrantfile,可以兑现为每一个门类分别安装上 Homestead ,其余品种成员只须求经过轻巧的vagrant up即能跟你有所相近的 Homestead 情形。

    利用 Composer 将 Homestead 直接设置至项目中:

    composerrequirelaravel/homestead--dev

    若是 Homestead 安装收尾,能够应用make命令生成Vagrantfile与Homestead.yaml文件,并存放于项指标根目录。

    make命令将会活动在 Homestead.yaml 文件中安插sites及folders:

    Mac / Linux:

    php vendor/bin/homestead make

    Windows:

    vendor\bin\homesteadmake

    接下去,在指令行中运营vagrant up并透过网页浏览器访谈

    安装 MariaDB#

    如若您期待选拔 MariaDB 来替换 MySQL,你能够在Homestead.yaml文件中追加三个mariadb的选项,这么些选项会移除 MySQL 并设置 MariaDB。因为 MariaDB 可用作 MySQL 的代替品,所以在您的数据库配置音信里,如故采用mysql配置项。

    box:laravel/homesteadip:"192.168.20.20"memory:2048cpus:4provider:virtualboxmariadb:true

    不乏先例用法#

    全局使用#

    万一你指望在文件系统的其他地点都能够vagrant up开启 Homestead 虚构机,你可以把以下代码放到你的 Bash profile 里面,那个函数允许你在文件系统的其余岗位都得以对 Homestead 运营 Vagrant 命令:

    Mac / Linux#

    functionhomestead(){(cd~/Homestead&&vagrant $*)}

    请将~/Homestead那一个门路改良为您的骨子里 Homestead 的装置路线,一旦这几个函数安装成功,就能够在系统的自由地点运行homestead up或homestead ssh命令

    Windows#

    在系统的随机地点成立二个批管理文件homestead.bat,并累计如下内容:

    @echooffset cwd=%cd%set homesteadVagrant=C:Homesteadcd/d%homesteadVagrant%&&vagrant%*cd/d%cwd%set cwd=set homesteadVagrant=

    请将C:Homestead这些路子修改为您的骨子里 Homestead 的装置路线,创造完那个文件后,将这么些文件路线增添到PATH情状变量中,就足以在系统的自便位置运营homestead up或homestead ssh命令

    通过SSH连接#

    在 Homestead 目录运营vagrant ssh命令来连接虚构主机。

    您恐怕会平日需求运用 SSH 来接二连三 Homestead 主机,你能够杜撰将上述「function」增多到你的主机,以便连忙的通过 SSH 走入你的 Homestead box

    接连数据库#

    在 box 中早就为 MySQL 和 Postgres 配置好了八个开箱即用的数据库homestead,为了更有益于的选用它,Laravel 中的.env文件将那么些数据库设置成了框架暗中同意使用的数据库。

    借使想要从您主机上的数据库顾客端连接 MySQL 或 Postgres,能够由此127.0.0.1来选拔端口33060(MySQL卡塔尔国 或54320(Postgres)连接。账号密码分别是homestead/secret

    因为虚构机做了端口转载,所以本机Computer上您应当只利用那个非标准的一而再一而再端口,虚构机里依然选择暗许的 3306 及 5432 连接端口。

    扩充越多网址#

    万一 Homestead 景况布署完成且成功运营后,你也许会想要为 Laravel 应用程序扩大更加多的 Nginx 网址。你能够在单个 Homestead 意况中运行五个Laravel 程序。要增多额外的网站,只需将网站增多到您的Homestead.yaml文件中:

    sites:-map:homestead.app      to:/home/vagrant/Code/Laravel/public-map:another.app      to:/home/vagrant/Code/another/public

    万一 Vagrant 未有机关管理你的「hosts」文件,你只怕要求手动把增产的站点投入到「hosts」文件中:

    192.168.10.10homestead.app192.168.10.10another.app

    当你的网址加多成就,从您的 Homestead 目录运营vagrant reload --provision命令就能够使用新的退换。

    Site Types#

    Homestead supports several types of sites which allow you to easily run projects that are not based on Laravel. For example, we may easily add a Symfony application to Homestead using thesymfony2site type:

    sites:-map:symfony2.app      to:/home/vagrant/Code/Symfony/publictype:symfony2

    The available site types are:apache,laravel(the default),proxy,silverstripe,statamic, andsymfony2.

    配置 Cron 调度器#

    Laravel 提供了福利的点子来调度 Cron 任务,通过schedule:run阿特isan 命令,调解便会在每秒钟被周转。schedule:run命令会检查定义在你AppConsoleKernel类中调整的天职,推断哪些任务该被周转。

    一旦您想为 Homestead 网址使用schedule:run命令,你能够在概念网址时将schedule选项设置为true

    sites:-map:homestead.app      to:/home/vagrant/Code/Laravel/publicschedule:true

    该网址的 Cron 职分会被定义在虚构机的/etc/cron.d文件夹中。

    延续端口#

    以下地点计算机连续端口将会被转正至 Homestead 情况:

    SSH:2222 → Forwards To 22

    HTTP:8000 → Forwards To 80

    HTTPS:44300 → Forwards To 443

    MySQL:33060 → Forwards To 3306

    Postgres:54320 → Forwards To 5432

    Mailhog:8025 → Forwards To 8025

    倒车越多的端口#

    假若你必要的话,也足以信任钦命连接端口的通信左券来转载更加多额外的三番五次端口给 Vagrant box :

    ports:-send:93000to:9300-send:7777to:777protocol:udp

    分享你的条件#

    神蹟你想跟你的同事仍然为客商共享你近日的职业进程。Vagrant 为此提供了一个停放方法vagrant share;但是,要是你在你的Homestead.yaml文件中布局了八个站点则那条命令将会变得没多大用途。

    为了缓和那些主题素材,Homestead 提供了温馨的share命令。开端从前,通过vagrant ssh命令 SSH 进你的 Homestead 机器中,然后运营share homestead.app。那会从你的Homestead.yaml配置文件中国共产党享homestead.app站点。当然,你也足以用别样已经布署的站点来代替homestead.app。

    运维完指令之后,你能够看出叁个富含移动日志和分享站点外网访谈路线的 Ngrok 分界面。

    谨记,Vagrant 本质上是不安全的,当你运营share命令的时候,你会把您的设想机暴光在互连网中。

    互联网接口#

    Network Interfaces#

    Homestead.yaml文件里的networks配置项允许你为 Homestead 情形布置互联网接口。你可以无约束配置多少个网络接口:

    networks:-type:"private_network"ip:"192.168.10.20"

    想要配置一个桥接接口的话,扩充bridge配置项,然后type填写为public_network:

    networks:-type:"public_network"ip:"192.168.10.20"bridge:"en1: Wi-Fi (AirPort)"

    想要配置四个DHCP接口的话,请从布署中移除ip选项:

    networks:-type:"public_network"bridge:"en1: Wi-Fi (AirPort)"

    更新 Homestead#

    你能够大概的用八个步骤来更新 Homestead ,第一步,使用vagrant box update命令更新 Vgrant box :

    vagrant box update

    接下去。你需求更新 Homestead 的源代码,要是您是因而仿制仓库的艺术安装的 Homestead ,你能够归纳的运营git pull origin master命令在你最早克隆酒馆的职责。

    设若你早就经过你的品类中的composer.json文件安装了 Homestead ,你应该认同你的composer.json文件中是或不是含有"laravel/homestead: "^4"而且更新您的重视:

    composer update

    正史版本#

    你能够经过充足以下配置到你的Homestead.yaml文件来便于的覆盖 Homestead 使用的 box 版本

    version:0.6.0

    例如:

    box:laravel/homesteadversion:0.6.0ip:"192.168.20.20"memory:2048cpus:4provider:virtualbox

    当您利用旧版本的 box 时,你须要保险 Homestead 源代码的本子与之对应,上面包车型的士图片突显了协助的 box 版本,甚至与之对应的 Homestead 的源代码版本和 box 所提供的 PHP 版本:

    Homestead VersionBox Version

    PHP 7.03.1.00.6.0

    PHP 7.14.0.01.0.0

    Provider 的奇特装置#

    VirtualBox#

    Homestead 暗许将natdnshostresolver设置为on。那允许 Homestead 使用你的主机系统中的 DNS 设置。倘若您想重写那作为,你能够在您的Homestead.yaml文件中增添下边这几行:

    provider:virtualboxnatdnshostresolver:off

    介绍

    Laravel 致力于让 PHP 开辟体验更欢乐,也包括你的本地开采条件。Vagrant 提供了三个简易、高贵的办法来管理与供应设想机。

    Laravel Homestead 是二个法定预载的 Vagrant「封装包」,提供您二个美好的支出情况,你不须要在您的本机端安装 PHP、HHVM、网页服务器或其余服务器软件。不用忧虑搞乱你的系统!Vagrant 封装包能够消除一切。假设有啥地点现身故障,你能够在几分钟内非常的慢的覆灭仁同一视建设想机。

    Homestead 能够在别的 Windows、Mac 或 Linux 上边运维,里面蕴涵了 Nginx 网页服务器、PHP 5.6、MySQL、Postgres、Redis、Memcached 还恐怕有全数你要支付能够的 Laravel 应用程序所需的软件。

    附注: 要是您是 Windows 的客商,您也许须求启用硬件设想化(VT-x)。平日要求通过 BIOS 来启用它。

    Homestead 近期是营造且测量试验于 Vagrant 1.7 版本。

    Optical Character Recognition (OC奥迪Q3State of Qatar即光学字符辨识是把打字与印刷文本转变到八个数字代表的经过。它有多姿多彩的骨子里应用–从数字化印制图书、创制小票的电子记录,到车牌识别以致破解基于图像的验证码。

    放到软件

    • Ubuntu 14.04
    • PHP 5.6
    • HHVM
    • Nginx
    • MySQL
    • Postgres
    • Node (With Bower, Grunt, and Gulp)
    • Redis
    • Memcached
    • Beanstalkd
    • Laravel Envoy
    • Blackfire Profiler

    图片 1

    设置与计划

    Tesseract是四个能促成OCTucson的开源项目。你能在*Nix系统,Mac系统和Windows系统上运维这些连串,不过若是利用三个库,我们就可以在PHP项目中应用它了。本学科的目标是教您怎么选用。

    安装 VirtualBox / VMWare 与 Vagrant

    在开发银行你的 Homestead 情形以前,你一定要先安装 VirtualBox 和 Vagrant. 两套软件在各平台皆有提供易用的可视化安装程序。

    安装

    VMware

    除外 VirtualBox 之外, Homestead 也支撑 VMware. 假使应用 VMware 作为 provider, 你必要购置 VMware Fusion / Desktop 以至 VMware Vagrant plug-in. VMware 提供了越来越快、品质越来越好的共享文件夹。

    准备

    为了让事情变得轻易和千篇一律的, 大家将利用虚构机(本文使用Vagrant)来运作应用程序,那会涉及到安装PHP和Nginx,我们将安装Tesseract来分别演示进度。假如您想和煦根据现成Debian-based系统装置Tesseract,你能够跳过下局地—大概查看the README来获得在别的*nix上,Mac系统或许Windows的安装引导.

    增加 Vagrant 封装包

    当 VirtualBox / VMware 和 Vagrant 安装到位后,你能够在终端机以下列命令将 'laravel/homestead' 封装包安装进你的 Vagrant 安装程序中。下载封装包会花你或多或少时刻,时间长短将基于你的网络速度决定:

    vagrant box add laravel/homestead
    

    假如这几个命令战败了, 你可能安装的是叁个老版本的 Vagrant 要求内定二个平安无事的 U瑞鹰L:

    vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead
    

    配置Vagrant

    为了陈设Vagrant以跟上本课程,达成如下步骤。大概你也能够归纳的从Github获代替码。

     

    输入以下命令来下载Homestead Improved Vagrant配备到二个名叫orc的文书夹:

    git clone https://github.com/Swader/homestead_improved ocr
    

    将Nginx配置文件Homestead.yml中的以下代码:

    sites:
        - map: homestead.app
          to: /home/vagrant/Code/Project/public
    

    修改成:

    sites:
        - map: homestead.app
          to: /home/vagrant/Code/public
    

    长期以来要在hosts文件中增添

    192.168.10.10       homestead.app
    

    安装 Homestead

    你可以回顾地经过手动复制能源库的主意来安装 Homestead。将能源库复制至你的 "home" 目录中的 Homestead 文件夹,如此一来 Homestead 封装包将能提供主机服务给您全数的 Laravel(及 PHP)应用:

    git clone https://github.com/laravel/homestead.git Homestead
    

    固然你克隆完 Homestead 商旅,从 Homestead 目录中试行 bash init.sh 命令来创设 Homestead.yaml 配置文件:

    bash init.sh
    

    Homestead.yaml 文件,将会被停放在你的 ~/.homestead 目录中。

    安装Tesseract

    下一步是安装Tesseract

    因为Homestead Improved 使用debian,大家可以在运用vagrant ssh登入虚构机后采纳apt-get 来设置它,简单运维如下命令:

    sudo apt-get install tesseract-ocr
    

    正如上文提到的,在the README中有任何的操作系统对应教程。

    安插你的 Provider

    Homestead.yaml 文件中的 provider 键申明供给选取的 Vagrant prodiver:virtualboxvmware_fusion (Mac OS X)、或者 vmware_workstation (Windows卡塔尔,你能够依据自个儿的喜好设定 provider 。

    provider: virtualbox
    

    测量试验并定制安装

    我们将动用PHP包装,可是此前大家得以在命令行测量试验Tesseract。

    先是保存以此图形sign.png

    在设想机中,实践如下命令来从图纸中读取文字

    tesseract sign.png out
    

    那将要现阶段文件夹成立三个文件:out.txt里面应该有单词:CAUTION

    最近尝试sign2.jpg

    tesseract sign2.jpg out
    

    本次产生单词Einbahnstral’ie。很周边但不得法—纵然图像中的文字非凡清楚,它未能识别字符ß。

    为了获使Tesseract符合规律读取字符串,大家供给安装一些新的言语文件—就本例来讲,法语。

    此处有叁个完美的可用言语文件列表,但大家向来下载所需的公文:

    wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.deu.tar.gz
    

    解压:

    tar zxvf tesseract-ocr-3.02.deu.tar.gz
    

    然后把公文复制到如下目录:

    /usr/share/tesseract-ocr/tessdata
    

    例如

    cp deu-frak.traineddata /usr/share/tesseract-ocr/tessdata
    cp deu.traineddata /usr/share/tesseract-ocr/tessdata
    

    到现在大家再度执行原本的下令不过要用 –l

    tesseract sign2.jpg out -l deu
    

    “deu” 是斯拉维尼亚语的 ISO 639-3码.

    此次,文字应该是Einbahnstraße(精确的)。

    能够通过重新上述进程来利用任性语言。

    安排你的 SSH 密钥

    下一场你供给编辑 Homestead.yaml。能够在文书中安排你的 SSH 公开密钥,以致重大机器与 Homestead 虚构机之间的分享目录。

    设若未有 SSH 密钥的话, 在 Mac 和 Linux 下,你能够采取上面包车型地铁下令来创设叁个 SSH 密钥组:

    ssh-keygen -t rsa -C "you@homestead"
    

    在 Windows 下,你供给安装 Git 何况使用带有在 Git 里的 Git Bash 来施行上述的下令。其余你也能够利用 PuTTY 和 PuTTYgen。

    假定你成立了贰个 SSH 密钥,记得在您的 Homestead.yaml 文件中的 authorize 属性指明密钥路径。

    配置应用程序

    咱俩将动用这个库来用PHP使用Tesseract。

    大家将创建二个极简的web应用:顾客上传图片,并查阅OC奥迪Q7管理结果。大家将运用Silex microframework 来实现。不要挂念您面生它,那一个应用本人很简短。

    纪事那篇教程的富有代码都能在Github上获得。

    率先步是用Composer来安装重视文件:

    composer require silex/silex twig/twig thiagoalessio/tesseract_ocr:dev-master
    

    然后创建七个公文夹:

    - public
    - uploads
    - views
    

    小编们必要上传表单(viewsindex.twig):

    <html>
      <head>
        <title>OCR</title>
      </head>
      <body>
    
        <form action="" method="post" enctype="multipart/form-data">
          <input type="file" name="upload">
          <input type="submit">
        </form>
    
      </body>
    </html>
    

    急需三个结实呈现页面(viewsresults.twig)::

    <html>
      <head>
        <title>OCR</title>
      </head>
      <body>
    
        <h2>Results</h2>
    
        <textarea cols="50" rows="10">{{ text }}</textarea>
    
        <hr>
    
        <a href="/">← Go back</a>
    
      </body>
    </html>
    

    前段时间树立skeleton Silex app (publicindex.php):

    <?php 
    
    require __DIR__.'/../vendor/autoload.php'; 
    
    use SymfonyComponentHttpFoundationRequest; 
    
    $app = new SilexApplication(); 
    
    $app->register(new SilexProviderTwigServiceProvider(), [
      'twig.path' => __DIR__.'/../views',
    ]);
    
    $app['debug'] = true; 
    
    $app->get('/', function() use ($app) { 
    
      return $app['twig']->render('index.twig');
    
    }); 
    
    $app->post('/', function(Request $request) use ($app) { 
    
        // TODO
    
    }); 
    
    $app->run();
    

    一旦您在浏览器访谈那个动用,你应该能来看二个文书上传表单。固然你在选择Homestead Improved Vagrant,你能够通过如下链接采访该行使。

    http://homestead.app/
    

    下一步是促成文件上传。Silex使得这项职业特简单;$request包括三个files组件,我们能够透过它来取得自由上传的公文,代码:

    // Grab the uploaded file
    $file = $request->files->get('upload'); 
    
    // Extract some information about the uploaded file
    $info = new SplFileInfo($file->getClientOriginalName());
    
    // Create a quasi-random filename
    $filename = sprintf('%d.%s', time(), $info->getExtension());
    
    // Copy the file
    $file->move(__DIR__.'/../uploads', $filename);
    

    如您所见,大家发出随机文件名来收缩文件名冲突—但在本金和利息用中,大家怎么命名文件是不根本的。一旦大家在地面有一份文件拷贝,我们就足以生出叁个Tessearct库的实例,然后举办解析:

    // Instantiate the Tessearct library
    $tesseract = new TesseractOCR(__DIR__ . '/../uploads/' . $filename);
    

    在图像上落到实处OC福睿斯相当轻松,大家只需调用方法recognize(卡塔尔(قطر‎。

    // Perform OCR on the uploaded image
    $text = $tesseract->recognize();
    

    提起底大家把结果呈现到结果页面:

    return $app['twig']->render(
        'results.twig',
        [
            'text'  =>  $text,
        ]
    );
    

    在某个图纸上尝试,看看它功能怎样。借使您有窘迫,能够参照这个

    布局你的分享文件夹

    Homestead.yaml 文件中的 folders 属性列出了具备你想在 Homestead 蒙受分享的文书夹列表。那些文件夹中的文件若有变动,他们将会联合在您的本机与 Homestead 情形里。你能够将您需求的分享文件夹都配备进去。

    只要要开启 NFS,只须要在 folders 中参预叁个标志:

    folders:
        - map: ~/Code
          to: /home/vagrant/Code
          type: "nfs"
    

    一个实际的例子

    让大家来看OCEnclave贰个更实用的事例。在本例中,我们尝试在图像中找到三个格式化的电话号码。

    拜访上边一幅图,上传到您的施用:

    图片 2

    结果应当如下:

    :ii‘i
    Customer Service Helplines
    
    British Airways Helpline
    
    09040 490 541
    

    它未有挑出本文文本,那是我们能料到的,因为图片质量太差。纵然识别了数码可是也会有一对“噪声”。

    为了提取相关音信,犹如下几件事大家能够做。

    您能够让Tesseract 把它的结果约束在一定的字符集内,所以我们告知它只回去数字型的始末代码如下:

    $tesseract->setWhitelist(range(0,9));
    

    但这么有个难题。它常常把非数字字符解释成数字而非忽视它们。例如“Bob”大概被解释称数字“808”。

    故而大家采纳两步管理。

    1. 品尝提取大概是电话号码的数字串。
    2. 用二个库轮换评估每一个候选字符,一旦找到贰个实惠电话号码则停止。

    首先步,大家能够用贰在那之中坚的正则表达式。能够用Google电话库来规定一个数字串是还是不是是合法电话号码。

    备考:作者已在Sitepoint 写过有关谷歌电话库的内容。

    让大家给Google电话库增添四个PHP 端口,改正composer.json,加多:

    "giggsey/libphonenumber-for-php": "~7.0"
    

    别忘了进级:

    composer update
    

    今后大家得以写一个函数,输入为叁个字符串,尝试提取二个合法的电话号码

    /**
     * Parse a string, trying to find a valid telephone number. As soon as it finds a 
     * valid number, it'll return it in E1624 format. If it can't find any, it'll 
     * simply return NULL.
     * 
     * @param  string   $text           The string to parse
     * @param  string   $country_code   The two digit country code to use as a "hint"
     * @return string | NULL
     */
    function findPhoneNumber($text, $country_code = 'GB') {
    
      // Get an instance of Google's libphonenumber
      $phoneUtil = libphonenumberPhoneNumberUtil::getInstance();
    
      // Use a simple regular expression to try and find candidate phone numbers
      preg_match_all('/(+d+)?s*((d+))?([s-]?d+)+/', $text, $matches);
    
      // Iterate through the matches
      foreach ($matches as $match) {
    
        foreach ($match as $value) {
    
          try {
    
            // Attempt to parse the number
            $number = $phoneUtil->parse(trim($value), $country_code);    
    
            // Just because we parsed it successfully, doesn't make it vald - so check it
            if ($phoneUtil->isValidNumber($number)) {
    
              // We've found a telephone number. Format using E.164, and exit
              return $phoneUtil->format($number, libphonenumberPhoneNumberFormat::E164);
    
            }
    
          } catch (libphonenumberNumberParseException $e) {
    
            // Ignore silently; getting here simply means we found something that isn't a phone number
    
          }
    
        }
      }
    
      return null;
    
    }
    

    指望注释能表明这一个函数在干什么。注意假设那些库没能从字符串中剖析出贰个法定的电话号码它会抛出一个那些。那不是什么难点;大家一贯忽视它并世襲下多少个候选字符。

    假如我们找到二个电话号码,大家以E.164的花样重返它。那提供了二个国际化的数码,大家能够用来打电话只怕发送SMS。

    今日咱们能够如下使用:

    $text = $tesseract->recognize();
    
    $number = findPhoneNumber($text, 'GB');
    

    我们须要给Google电话库提供叁个升迁来证明这么些编号是哪个国家的。你也得以改成你自身的国度。

    笔者们把富有的那一个包裹在三个新的路由中:

    $app->post('/identify-telephone-number', function(Request $request) use ($app) { 
    
      // Grab the uploaded file
      $file = $request->files->get('upload'); 
    
      // Extract some information about the uploaded file
      $info = new SplFileInfo($file->getClientOriginalName());
    
      // Create a quasi-random filename
      $filename = sprintf('%d.%s', time(), $info->getExtension());
    
      // Copy the file
      $file->move(__DIR__.'/../uploads', $filename); 
    
      // Instantiate the Tessearct library
      $tesseract = new TesseractOCR(__DIR__ . '/../uploads/' . $filename);
    
      // Perform OCR on the uploaded image
      $text = $tesseract->recognize();
    
      $number = findPhoneNumber($text, 'GB');
    
      return $app->json(
        [
          'number'     =>  $number,
        ]
      );
    
    });
    

    大家以后有简短的API的根底—-也正是JSON响应-—大家得以用来作为二个简练的移位使用的后端,那款应用能够用来从一幅图中增多关系人,打电话。

    配备你的 Nginx 站点

    对 Nginx 不熟悉?没关系。sites 属性允许你轻便的照看贰个 域名 到贰个homestead 景况中的目录。一个例证的站点被陈设在 Homestead.yaml 文件中。相近的,你能够加别的你需求的站点到您的 Homestead 碰着中。Homestead 可以为你各类举行中的 Laravel 应用提供方便的设想化景况。

    您能够透过安插 hhvm 属性为 true 来让设想站点支持 HHVM:

    sites:
        - map: homestead.app
          to: /home/vagrant/Code/Laravel/public
          hhvm: true
    

    Each site will be accessible by HTTP via port 8000 and HTTPS via port 44300.

    总结

    OCEnclave有数不完接受——並且超轻便整合进你的选取(超过你的料想)。本文中,大家设置了开源OCEnclave包;并行使二个卷入器库,把它整合进三个特别简单的PHP应用。我们只是触及到了富有异常的大可能率的外表,希望那能给你某些机关用尽,帮您构思怎么在您和谐的使用中使用OCRubicon。

    Bash Aliases

    比如要扩展 Bash aliases 到您的 Homestead 封装包中,只要将内容加多到 ~/.homestead 目录最上层的 aliases 文件中就可以。

    启动 Vagrant 封装包

    当你遵照你的喜好编辑完 Homestead.yaml 后,在终端机里进来你的 Homestead 文件夹并试行 vagrant up 命令。

    Vagrant 会将虚构机开机,何况自动配置你的分享目录和 Nginx 站点。借使要移除虚构机,能够利用 vagrant destroy --force 命令。

    为了你的 Nginx 站点,别忘记在您的机器的 hosts 文件将「域名」加进去。hosts 文件会将您的本土域名的站点央求指向你的 Homestead 境况中。在 Mac 和 Linux,该公文放在 /etc/hosts。在 Windows 情形中,它被放置在 C:WindowsSystem32driversetchosts。你要加进去的从头到尾的经过附近如下:

    192.168.10.10  homestead.app
    

    必得确认 IP 地址与你的 Homestead.yaml 文件中的形似。一旦你将域名加进你的 hosts 文件中,你就能够通过网页浏览器访问到您的站点。

    http://homestead.app
    

    持续读���去,你会学到怎样连接到数据库!

    广大用法

    通过 SSH 连接

    要透过 SSH 连接上你的 Homestead 景况,在终端机里进来你的 Homestead 目录并推行 vagrant ssh 命令。

    因为你只怕会时不常索要经过 SSH 走入你的 Homestead 设想机,能够盘算在您的第一机器上创办一个"别名" 用来神速 SSH 踏入Homestead 设想机:

    alias vm="ssh vagrant@127.0.0.1 -p 2222"
    

    一旦你创建了那一个小名,无论你在第一机器的哪位目录,都足以轻巧地使用 "vm" 命令来经过 SSH 步入你的 Homestead 虚构机。

    你也得以在 Homestead 目录使用 vagrant ssh 命令。

    连年数据库

    Homestead 封装包中,已经预了 MySQL 与 Postgres 二种数据库。为了更方便,Laravel 的 local 数据库配置已经默许将其配备完毕。

    假如想要从本机上经过 Navicat 恐怕 Sequel Pro 连接 MySQL 或然 Postgres 数据库,你能够连接 127.0.0.1 的端口 33060 (MySQLState of Qatar 或 54320 (PostgresState of Qatar。而帐号密码分别是 homestead / secret

    附注: 从本机端你应当只好利用那些非规范的接连几日端口来再而三数据库。因为当 Laravel 运维在虚拟机时,在 Laravel 的数据库配置文件中仍是安插利用暗中认可的 3306 及 5432 连接端口。

    充实越来越多的站点

    在 Homestead 遭逢上架且运营后,你或然会要求为 Laravel 应用程序扩张更加多的 Nginx 站点。你能够在单纯个 Homestead 景况中运维充裕多 Laravel 安装程序。有二种方法能够达到:第一种,在 Homestead.yaml 文件中扩充站点然后在 Homestead 目录中实施 vagrant provision

    Note: 这些操作是有着破坏性的,当试行 provision 命令,你现存的数据库会被摧毁一视同仁新成立。

    其它,也得以选择寄存在 Homestead 情况中的 serve 命令文件。要接受 serve 命令文件,请先 SSH 进入 Homestead 蒙受中,并实行下列命令:

    serve domain.app /home/vagrant/Code/path/to/public/directory 80
    

    附注: 在执行 serve 命令过后,别忘记将新的站点加进本机的 hosts 文件中。

    接连端口

    以下的端口将会被转变至 Homestead 情形:

    • SSH: 2222 → Forwards To 22
    • HTTP: 8000 → Forwards To 80
    • HTTPS: 44300 → Forwards To 443
    • MySQL: 33060 → Forwards To 3306
    • Postgres: 54320 → Forwards To 5432

    扩展额外端口

    您也得以自定义转载额外的端口至 Vagrant box,只必要钦命协议:

    ports:
        - send: 93000
          to: 9300
        - send: 7777
          to: 777
          protocol: udp
    

    Blackfire Profiler

    Blackfire Profiler 是由 SensioLabs 创设的三个剖判工具,它会自行的访问代码实施时期的连带数据,举个例子 RAM, CPU time, 和 disk I/O. 假诺您利用 Homestead ,那么使用那几个分析工具会变得很简单。

    blackfire 所需的包已经设置在 Homestead box 中,你只供给在 Homestead.yaml 文件中设置 Server ID 和 token :

    blackfire:
        - id: your-server-id
          token: your-server-token
          client-id: your-client-id
          client-token: your-client-token
    

    当您设定完 Blackfire 的证据新闻,使用 vagrant provision 令配置生效。当然,你也急需经过翻阅Blackfire 文档 来学学怎么着在您的浏览器中设置 Blackfire 扩充。

    什么使用vagrant在虚构机安装Hadoop集群 http://www.linuxidc.com/Linux/2013-04/82750.htm

    Vagrant 中异常的快的 Puppet 模块管理 http://www.linuxidc.com/Linux/2014-05/101873.htm

    运用 Vagrant 和 法布里c 用于集成测量试验 http://www.linuxidc.com/Linux/2014-07/104113.htm

    使用 Vagrant 搭建开垦意况 http://www.linuxidc.com/Linux/2014-07/104116.htm

    Windows 下配置 Vagrant 环境 http://www.linuxidc.com/Linux/2014-07/104115.htm

    运用 Vagrant 搭建开辟境况 http://www.linuxidc.com/Linux/2014-07/104116.htm

    正文长久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121985.htm

    图片 3

    本文由威尼斯手机平台登陆发布于最新留言,转载请注明出处:付费投稿计划,它为你提供了一个完美的开发环境

    关键词: