阿里云 Ubuntu 14下安装OpenfireServer

2.安装后续步骤需要的依赖包:

apt-get update
apt-get install software-properties-common -y

3.安装JRE-8:

add-apt-repository ppa:webupd8team/java
sudo apt-get update
apt-get install oracle-java8-installer
apt-get install oracle-java8-set-default
java -version

4.下载OpenFire(最新版本请到官网查看):

wget /www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.3.0_all.deb

5.安装OpenFire

dpkg -i openfire.deb

6.浏览器登录管理:

/<你的服务器地址或域名>:<端口号,默认9090>

/<你的服务器地址或域名>:<端口号,默认9091>

971-264-3068

Python新利器之pipenv

前言
之前学习异步asyncio库的时候,因为asyncio库支持Python3.5以上的版本,而我的Ubuntu14.04只有Python3.4,虽然下载了Python3.6,但是想直接利用ipython3或者pip3调用Python3.6相关的东西有点困难,可能是我手法不对,有点混乱。

之前只是简单的用过virtualenv,直到发现了这个pipenv,有点吊炸天。

Python开发者应该听过pip、easy_install和virtualenv,如果看过我的书应该还知道 virtualenvwrapper、virtualenv-burrito和autoenv,再加上pyvenv、venv(Python 3标准库)、pyenv…
额,是不是有种发懵的感觉?
那么现在有个好消息,你可以只使用终极方案: pipenv + autoenv(可选)。

pipenv 都包含什么?
pipenv 是 Pipfile 主要倡导者、requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。Pipfile和pipenv本来都是Kenneth Reitz的个人项目,后来贡献给了pypa组织。Pipfile是社区拟定的依赖管理文件,用于替代过于简陋的 requirements.txt 文件。

Pipfile的基本理念是:

Pipfile 文件是 TOML 格式而不是 requirements.txt 这样的纯文本。
一个项目对应一个 Pipfile,支持开发环境与正式环境区分。默认提供 default 和 development 区分。
提供版本锁支持,存为 Pipfile.lock。
click是Flask作者 Armin Ronacher 写的命令行库,现在Flask已经集成了它。

接下来,我们看看怎么使用它吧

安装
$ pip install pipenv
用法
在使用pipenv之前,必须彻底的忘记pip这个东西

新建一个准备当环境的文件夹pipenvtest,并cd进入该文件夹:
pipenv –three 会使用当前系统的Python3创建环境

pipenv –python 3.6 指定某一Python版本创建环境

pipenv shell 激活虚拟环境

pipenv –where 显示目录信息
/home/jiahuan/pipenvtest

pipenv –venv 显示虚拟环境信息
/home/jiahuan/.local/share/virtualenvs/pipenvtest-9KKRH3OW

pipenv –py 显示Python解释器信息
/home/jiahuan/.local/share/virtualenvs/pipenvtest-9KKRH3OW/bin/python

pipenv install requests 安装相关模块并加入到Pipfile

pipenv install django==1.11 安装固定版本模块并加入到Pipfile

pipenv graph 查看目前安装的库及其依赖

requests==2.18.4
– certifi [required: >=2017.4.17, installed: 2017.11.5]
– chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4]
– idna [required: >=2.5,<2.7, installed: 2.6]
– urllib3 [required: >=1.21.1,<1.23, installed: 1.22]
pipenv check检查安全漏洞

Checking PEP 508 requirements…
Passed!
Checking installed package safety…
All good!
pipenv uninstall –all 卸载全部包并从Pipfile中移除

Found 5 installed package(s), purging…
Uninstalling certifi-2017.11.5:
Successfully uninstalled certifi-2017.11.5
Uninstalling chardet-3.0.4:
Successfully uninstalled chardet-3.0.4
Uninstalling idna-2.6:
Successfully uninstalled idna-2.6
Uninstalling requests-2.18.4:
Successfully uninstalled requests-2.18.4
Uninstalling urllib3-1.22:
Successfully uninstalled urllib3-1.22
跟上面graph命令显示的内容对应

出现个报错
之后随意测试的时候 使用pipenv –two 想创建一个基于Python2.7的虚拟环境时出了点问题。报了这样一个错误
TypeError: ‘NoneType’ object is not subscriptable
而使用pipenv –python 3.6却没有问题(自带的是Python3.5,Python3.6新安装的,这让我很纳闷,明天去公司试一试。

经过测试:在公司ubuntu机器上可以使用 ,今晚再回家里试试…
…..
回家仔细观察了报错,原来是我pip源的配置文件出了点错,多了个空格,囧 ~

OK,那就没问题

2018/01/24更新
pipenv install 安装模块时有时候会很慢
可以设置国内源:Pipfile文件中[source]下面url属性,比如修改成:url = “/pypi.tuna.tsinghua.edu.cn/simple”

小结
这里写了一个pipenv常用的命令,很不错的工具,pip与virtualenv的结合体,值得一用。

作者:寻找无双丶
链接:/www.jianshu.com/p/00af447f0005
來源:简书

414-535-8413

OBD盒子是什么?10分钟解读车载OBD盒子的那些事儿

虽说,OBD是当前切入“车联网”的一个捷径,它也因戴上了“大数据”的光环而备受追捧,但事实是,OBD也存在硬伤,而这种硬伤将造成大数据的不准确,致使数据无意义。

OBD有两种产品形态

目前市面上基于OBD接口有两种产品形式,一种是通过一条专用的数据线连接到车辆的OBD接口。将数据读取出来再显示到配套的显示屏上,基本等于自己加装了一个行车电脑显示屏。平时连接线可以一直插在OBD接口上不用摘下,而只需固定显示屏即可,车主可以自行选择需要显示的数据。

另一种是目前比较流行的类似路宝的设备——无线OBD接口适配器+智能手机端软件,比如广东奇新高的一号保镖,这种与手机端配合的OBD端口读取器类似于一个加入了无线通讯模块的单片机,通过蓝牙或Wifi将OBD接口读取的数据传输到智能手机端,再通过手机端的软件呈献给使用者。

OBD盒子存在问题

“OBD最大的问题在于没有标准接口和数据,甚至车厂每年都会更改协议,而且存在高度碎片化,每家车厂都有很多品牌,每个品牌的协议可能还会有很大的不同,如何增加用户数,在保持2B,也要2C的情况下把OBD当成汽车的USB,没人会知道USB有没有希望。原来OBD只是字面上的意义诊断,但是未来诊断并不需要OBD来做,只要联网就在后台随时知道汽车的状况,再通过后装做后台就没意义了,所以诊断没必要OBD来做。”

1、私有协议破解、更新有瓶颈

也许是意识到了从公有故障码获取信息的价值有限,于是大家都牟足了劲儿想在破解原车Can-bus的私有协议上寻求突破,瞬时油耗分析、油压、车门电量、车灯检测、车辆远程监控与防盗等功能简直是琳琅满目。

汽车OBD厂商通过购买专业的汽车解码器,从而检测多个数据和系统,但摆在他们面前的是私有协议不可回避的瓶颈。第一,私有协议并非所有车型都能破解,比如大众车系设置了高屏蔽性的网关,原车总线数经过网关后基本被阻隔,即使有解码器也难以读取到安全带、车门车窗等数据。第二,私有协议在不停地更新,破解特定车型的PIN码直接关系到开发者能否读取到某款车型的OBD私有协议。汽车制造厂商设定的PIN码,每年都会改变,这样原有的解码器就无法及时读取到更新的内容,造成数据不准确。

常见的两个误差来源包括:一、开空调或使用车载娱乐系统产生的油耗难统计;二、OBD读取器一次只能发一条指令获得一个参数,用不同时间的参数计算来的油耗怎么能叫瞬时油耗呢?”

2、安装位置不一致 数据校准有误差

OBD接口统一采用梯形的16针DLC形式接插件,梯形接口是防误插设计,以防错误插入导致的短路或者其他状况影响车辆使用,一些厂商还选用彩色的接插件以方便辨识。OBD的接口位置一般都在方向盘下方的内饰板中,靠近驾驶员膝盖附近的地方,将设备安装上去即可使用。但这仅仅是美好的状态,对于部分车型来说,安装绝非易事。

3、OBD耗电问题

OBD是否会耗关电瓶的电是很多车主都会关注的,小编在一论坛曾经看过有车主说在某猫购买了一个A品牌的OBD,用了几天后居然耗尽了汽车蓄电池的电。为了证明OBD产品的电流情况,我们随机抽取其他3款不同品牌的OBD产品,通过仪器测试看其耗电量如何。结果发现,不同OBD的电流确实存在差距。

小编点评:在汽车各项指标系数均处于正常的情况下,OBD是不会报错的,这会让OBD很没有存在感,所以用户也是更多的从APP上获取有关驾驶习惯的数据。但是,如果OBD产品获得的数据越多,也越让人有依赖性,仿佛是把安全交给了OBD,这也并非明智之举。另外,如果OBD真要大肆切入车联网,估计整车厂也会有所作为,所以OBD的发展方向我们还需拭目以待。

我们测试过的OBD盒子表现如何

我们测试过的OBD盒子大致分为两类,一类是蓝牙版的,一类是带有SIM卡的,相对来说,SIM卡的OBD盒子成本更高,具有车辆定位等功能。在我们测试过的产品中,比如奇新高一号保镖这款OBD智能盒子,都是通过OBD接口读取行车电脑的数据,向车主提供用车及驾驶服务的产品,需配合App进行使用。

总结:OBD从价值角度看,都是传统车辆价值的延伸,大多厂家会在驾驶习惯分析上做一些优化,只是总体来看,彼此间的功能差异还不是很大。其实,OBD更多的是用户体验的过程,从而创造更多有价值的东西,比如如何将车载社交载入进来就是一个方面。不管怎样,OBD的路要怎样走,我们都需要静下心来思考。

无人驾驶、新能源汽车共享汽车,车联网在智慧汽车行业究竟多重要?

在过去的二十年,移动计算和半导体(即现在普遍存在的计算机芯片)开始快速发展,并且以人们无法想象的方式改变着车辆。今天,汽车行业正处于第二次革命的尖峰。

首先,表现在汽车的动力部分,未来无论是纯电动还是混动,都将逐渐挤压甚至取代纯燃油车的市场份额。

其次,整车的高度智能化,让产业的重心不断地从机械化向电子化,从硬件化向软件化转变。原来最传统的机械件,比如方向盘、后视镜等被代替或抛弃,方向盘被取消,仪表盘被新的显示技术所代替,传统的车窗玻璃,变成可触控的显示器,后视镜被摄像头代替。并且这些还不包括从燃油车到电动车所放弃或取消的机械件。各类高精度的传感器,将成为车辆的标配。软件的需求更多更高,随着无人驾驶的发展,高精度地图、车载操作系统、大数据、机器学习与人工智能算法等成为汽车产业新的制高点,也促生了车联网云服务市场,诞生了像百度车联网云这样的服务平台。

另外,随着社会的不断发展,共享经济逐渐渗透到用户生活的各个层面,共享模式已经成为人们新的生活和工作方式,并影响着人们的生活,同时,共享经济也引发了商业模式的颠覆性革命。因此,未来的汽车产业必然将向新能源化、智能化和共享化方向发展。而汽车行业的发展,与车联网技术息息相关。

车联网已成为新能源汽车的基础配置

目前,我国的新能源汽车在发展过程中出现了很多瓶颈,除了用户的消费习惯、购置成本以及地方保护之外,电池的续航能力和充电桩的不足是制约新能源汽车发展的主要因素。由于新能源汽车的电池续航能力不足,因此,在使用过程中需要不断地充电,而我国绝大多数城市的充电桩严重不足,直接影响了用户的使用。在每个城市,充电桩都集中在城市的不同区域,这些不同区域的充电桩成为多个充电中心,即便政府加大政策支持力度,但由于充电桩的建设与城市的基础设施建设息息相关,不仅涉及到大规模的投资,还受制于土地、环境等因素的制约,因此,要实现充电桩的合理布局非常困难,并且集中的充电中心在充电高峰期会存在停车难的问题,还会引起周边交通的堵塞。在这种情况下,如何在充电桩的管理中结合车联网技术,势在必行。

采用电池管理系统(BMS)对动力电池组进行远程管理是提高动力电池组的使用性能和寿命的一种有效方法,目前,作为车联网的一种终端形态,TBOX(远程信息处理器)已经成为国产新能源汽车的基础配置。另外,百度云为解决电池衰减难题,通过模拟驾驶的实验室以及车辆电池相关数据,利用大数据分析和机器学习建立电池衰减模型,为车厂的新品研发提供了科学的分析预测。

除了电池管理之外,提供有效便利的充电桩信息,也是车联网基础服务的一部分。

首先,可以先将充电站信息作为兴趣点集成在云端的导航地图上,作为车联网的基础服务。当用户需要查询附近的充电桩时,可以在车载终端的电子地图上实时查看车辆附近的充电站和曾经去过的充电站,导航软件根据车辆所在的位置和选定的充电站位置规划行车路线,并可快速实现导航。

其次,如果将分布在每个住宅小区的私家充电桩实现共享,结合车联网技术,一旦检测到车辆需要充电,则自动导航到附近已经共享的空闲充电桩充电,采用共享充电桩的方式可解决车主对于充电中心的依赖,有效地解决充电桩不足的问题,并且有效地盘活了闲置资源,提高私家充电桩的使用效率,方便了别人的同时,桩主也从中获得了相应的回报。

上图是百度车联网云解决方案的架构图,设备端负责将车辆连接到互联网,中间的车联网基础服务就包括电池的监控报警及充电桩信息等的集成,中间的百度云-天工平台负责车辆的接入、基于云端地图的位置信息服务、云存储等服务,而右边就是用户体验的入口。

车联网是无人驾驶的基础

从有人驾驶到无人驾驶,美国机动工程师协会(SAE)和美国高速公路安全管理局(NHTSA)对于无人驾驶进行了相应的分级。SAE从无自动化到完全自动化将无人驾驶分为0-5级,0为无自动化,无人驾驶的5级分别为驾驶辅助、部分自动化、有条件自动化、高度自动化以及完全自动化。

自动驾驶汽车技术的研发,在20世纪已经有数十年的历史,并于21世纪初呈现出接近实用化的趋势。随着沃尔沃、奥迪、宝马、奔驰、大众、谷歌、百度等汽车厂商和科技公司对自动驾驶汽车的研发和推广,自动驾驶汽车开始从构想向现实迈进,进入2017年,自动驾驶已经成为汽车界和科技界最热的话题。

目前的自动驾驶技术主要依靠摄像头、雷达、红外线、激光和超声波等多种传感器,为车辆打造一套触觉和视觉系统,触觉系统用于感知车内运行环境,视觉系统让车辆具备对物体关键特征和轮廓的辨别能力,能对车辆前后左右四周的环境进行感知,辨别出周围的人、道路、移动的交通工具、交通标志以及障碍物。据密歇根大学的Mcity小镇的测试发现,V2V(车与车之间的通信)使自动驾驶更安全。

V2V是车联网的主要应用场景之一,主要目的是提高车辆运行的安全性。V2V通过DSRC专用短距离通信技术或LTE-V技术共享数据,如位置、速度和方向等,通过对车辆运行前方及车辆两侧后方进行感知,提前对红绿灯信号、路面异常情况以及前车的制动信息做出预警,并使车辆自动制动,从而实现车路的协同,保证行车的安全,提高道路交通安全水平。

其实,实现真正的自动驾驶,除了实现V2V之外,还必须实现V2I(车与道路基础设施之间的通信)、V2P(车与行人之间的通信)以及V2C(车与云端之间的通信)。

在整个行驶的过程中,自动驾驶车辆除了通过各类传感器感知车外的道路状态,通过V2V确保安全行车之外,还需要不断地获取前方道路的交通流量情况,以做路径的动态规划,而车辆获取实时交通路况以及通过不停车无人收费通道,就需要实现V2I,即车辆与路边基础设施的通信。另外,车辆需要获取当前的天气信息,提醒行人等又需要V2C、V2P。因此,严格意义上讲,车联网是无人驾驶的基础,车联网使自动驾驶更安全。

车联网提升了共享汽车业务的用户体验

在传统的消费思维下,汽车除了是代步工具之外,也是车主享受生活以及身份地位的象征。但购买汽车的主要目的是方便出行,而购买汽车后,车主平均每天在车上的时间不会超过3小时,其余的时间,车辆都闲置在停车场,随着用车成本的不断增加、停车难等现象的出现,消费者的思维逐步从感性向理性转变,对于是否要购买汽车,购买汽车之后对于汽车的使用观念也在改变。消费者不再纠结于是否拥有车辆的所有权,而是更在意是否拥有车辆的使用权。在这样的背景下,汽车共享模式出现了。

汽车共享是移动互联网与车联网技术相结合的一项业务,也是互联网+汽车的典型应用,通过将车主闲置的车辆或闲置的座位共享出去,盘活闲置资源,车主既帮助了有需要的人,又能从中获得一定的收益,提高了资源的利用率,实现了车辆价值的最大化。

汽车共享以较低的出行成本,方便的用车体验,逐步改变着人们的出行方式,汽车共享模式有助于提高车辆的利用率,从而减少城市车辆保有量,缓解交通堵塞,减少空气污染,并最终将改变城市的交通生态。在新的社会经济形势下,汽车共享模式必将成为传统车企新的业务增长点。

面对激增的共享汽车租赁交易需求,如何对用车人身份进行高效、精准地审核,成了困扰租赁商的难题。为了确保交易双方信息准确,百度云利用人脸识别技术实现身份验证与审核,简化业务流程,只需刷脸就可完成用户注册,使租借双方都有更顺畅的交易体验。

综上所述,车联网是无人驾驶汽车的基础,而基于无人驾驶的新能源汽车租赁服务将是汽车共享业务发展的重要方向。随着车联网技术的不断发展,当车辆的远程控制、辅助驾驶等技术取得突破后,车联网必将加速汽车共享业务的步伐。

7147881693

(812) 570-1801

自2003年组建以来,AUTOSAR(汽车开放系统架构)联盟一直致力于改变车载网络和电子控制单元(ECU)的设计方式。AUTOSAR提出了一个符合业界标准的车载网络设计方法,使行业能够集成、交换和传输汽车网络内的功能、数据和信息。这一标准极大地促进了汽车原始设备制造商(OEM)及其一级供应商之间的合作,使他们能够以一种一致、明确且机器可读的格式来交换设计信息。

一辆汽车的不同部分对安全及性能有不同要求,而支持它们的车载网络必须具备可预测的安全性能。随着汽车技术的不断演变,人们已经可以用一系列总线技术来连接豪华汽车上最多100个不同的ECU,这些总线技术通常包括LIN、CAN、FlexRay、MOST和基于以太网的架构。如果靠手动来管理这些ECU之间数以千计的信息和交互操作是不可能的,因此汽车设计人员必然用自动化设计和合成工具来预测网络性能和调整车载功能。

汽车数据总线

一辆典型的现代化汽车将同时装配各类总线和协议并从LIN、CAN、FlexRay、MOST和以太网中选择合适的网络。多媒体/视听信号和汽车环绕摄像系统需要更高的数据速率,因此汽车制造商和OEM厂商在网络解决方案上选择用以太网代替MOST.但对于许多标准汽车功能而言,LIN和CAN提供的带宽与性能就足够了。

在汽车架构中,ECU组合在一起形成“集群”,这些集群通过通信“网关”相连。集群通常会共享同一类型的总线,因此要达到高可靠性、高速率的标准,就要采用FlexRay网络,但要求没那么高的门锁ECU可以由CAN或LIN来负责。ECU网关往往要连接不同类型的信号,并执行不同总线架构之间的映射和转换功能。汽车行业对不断提高安全性和ISO26262等标准的合规性提出强烈需求,进而提升了车载网络的性能,同时也降低了制造和元件成本。不断进步的网络标准可以适应越来越高的数据传输速率,汽车电缆也达到了安全且低成本的目标。典型汽车网络方案的特点及应用请见表1.


表1:汽车网络总线。

网络时序分析

接下来让我们详细讨论CAN和FlexRay网络的时序分析。了解这两种类型网络的基本特征和差异是非常有用的。

CAN网络:

CAN是使用较广泛的一类车载网络,以ISO 15765-2为运行标准。CAN总线提供了高水平的系统灵活性,能够相对容易地将新的ECU接收器节点添加到现有的CAN网络中,而不对现有的ECU节点做出大的硬件或软件改动。对汽车设计人员而言,这可以极大地帮助他们扩大或升级现有网络,或设计出新的变体车型。

在CAN网络实时运行过程中,通过网络进行交换的不同类型信息的紧迫性相差很大。例如对于管理发动机燃料喷射的ECU而言,必须立即获得发动机瞬时负载反馈,相比而言则不需要那么频繁地获知发动机的温度等参数。

要传输的信息的优先级是由包含在每条信息中的“标识符”决定的。在设计系统时就要确定传输的优先级,并且不能随意改变。在CAN架构中,总线访问争用的问题可以通过标识符的逐位仲裁来解决。CAN总线没有主控器,因此连接至总线的所有ECU节点都需要接受网络使用方面的仲裁。如果第一个位元是“0”,则这条信息优先于其他信息。这就是所谓的“显性”信息,如果第一个位元是“1”,则优先级降低(“隐性”信息)。因此,最高优先级的信息总能传输至预期的目标地址,但优先级较低的信息可能会暂时退出总线发送,直到总线空闲下来。只有当总线处于空闲状态时,要发送较低优先级的信息的ECU节点才会重新尝试发送。CAN总线可以传输的ECU之间的信息大小最多为8个字节,而通过CAN发送的信号被打包成信息“帧”。

FlexRay网络:

FlexRay协议比CAN更具确定性。FlexRay是一种“时间触发”协议,它提供不同选项,让信息可以在精确的时间框架内发送至目标地址——可精确到1μs.FlexRay信息最多可达254个字节,因此需要在ECU之间进行交换的复杂信息的容量很大。与CAN相比,FlexRay的数据传输速率也更高。由于时序是预先确定的,信息的安排需要提前规划好,一般由汽车OEM厂商或一级供应商合作伙伴预先配置或设计。在采用CAN协议的网络中,ECU节点只需要知道通信时的正确波特率,但FlexRay网络上的ECU节点在通信时必须知道网络各个部分是如何配置和连接的。检查和验证FlexRay网络的时序比较耗时——因此,自动化的时序分析和将信息合成打包成时间帧可以减少错误和设计周期时间。

8019967086

Ubuntu中增加apache上传文件大小限制

upload_max_filesize – 没错就是这个,最大上传文件大小限制。你会发现此处默认为2M。memory_limit – 单个脚本可用最大内存,此设置可以防止设计有缺陷的PHP脚本占用所有的系统内存,如果不想限制单个脚本最大使用内存可以设置该值为-1(建议不要设置为-1)。post_max_size – 设置递交数据最大大小。该设置也会影响到最大上传文件大小的配置,该值设置必须大于upload_max_filesize设置的值。通常情况下,memory_limit设置的值要比post_max_size的值大。系统默认设置如下,所以只能上传2MB的附件了.
以下下两种方法设置之后即可上传10MB的附件。

  1. 编辑php.ini
    编辑你的php.ini配置文件.(他可能在 /etc/php.ini 或者 /etc/php.d/cgi/php.ini 或者 /usr/local/etc/php.ini)
nano /etc/php5/apache2/php.ini

更改为如下配置(当然,此处只是一个例子,有可能你的 memory_limit实际需求是64MB)。

upload_max_filesize = 10M 
memory_limit = 32M 
post_max_size = 20M

保存之后重启Apache服务。

sudo service apache2 restart
  1. 编辑.htaccess文件。
    如果无法获取更改php.ini的权限(例如虚拟主机),可以通过创建或者编辑.htaccess来实现。在.htaccess中添加
php_value upload_max_filesize 10M
php_value post_max_size 20M 
php_value memory_limit 32M
708-366-6079

Ubuntu 18 安装Drush工具

Drush可以说是Drupal的瑞士军刀,只要你使用过一段时间的Drush,一但没有它的话,你会觉得很不方便。可如果通过我在前面博文中所讲的方法来安装Drush的话,是不能够支持Drupal8的,所以便有了这篇博文,介绍如何在安装支持Drupal8的Drush工具。

在Drush的GitHub主页上我们不难看出,Drush7.x是支持Drupal8的,那么就让我们来安装Drupal7.x吧:

一、安装Composer

首先要在全局范围安装composer,使用以下命令:

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

这样就可以在机器的任何地方使用composer来代替php composer.phar运行Composer命令了!测试的方法很简单,直接在命令行中输入composer,看看是否输出Composer的帮助。

二、设置Compser环境

为了确保Composer的全局bin目录中的命令可以在任何地方调用,建议将其目录纳入到系统的PATH目录中,输入以下命令,在~/.bashrc文件中添加相应目录:

sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
如果想要立即看到效果的话,可以使用以下命令:

source $HOME/.bashrc
env

然后查看输出:

PATH=/home/firehare/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

如果出现类似上面的结果,那么说明我们添加的设置生效了。

三、安装Drush

如果上面都设置好了的话,安装Drush将变得十分的简单,只需要一个命令即可:

composer global require drush/drush:dev-master

但遗憾的是,有时上述命令会下载很慢,或经常中断。大家可以参考Composer中国设置国内镜像:
/pkg.phpcomposer.com/

注意:上面命令是需要git命令支持的,如果在安装过程中提示需要安装git,那么只需要在命令行中输入下列语句即可:

sudo apt-get install git

四、设置Drush

安装好了Drush之后,还需要对Drush做一些设置,比如说一些Bash的别名之类的,可以在~/.bashrc文件最后添加以下命令:

# enable drush.bashrc
if [ -f $HOME/.composer/vendor/drush/drush/examples/example.bashrc ]; then
  source $HOME/.composer/vendor/drush/drush/examples/example.bashrc
fi

然后,重启机器或直接输入:

source ./bashrc
这样,基本上Drush就安装好了,我们可以做一个小小的测试,在任何目录下输入以下命令并得到类似结果,说明Drush安装和设置都基本生效了:
dr --version

Drush Version : 7.0-dev

本文出自 “野火兔的窝” 博客,请务必保留此出处
/firehare.blog.51cto.com/809276/1532030

Ubuntu 18.04.1 LTS LAMP环境搭建

  1. 首先,环境准备:
    sudo -i
    apt update && apt upgrade -y
  2. 一键安装
    apt install apache2 php7.2 mysql-server php-mysql -y
  3. 配置mysql
mysql -u root
use mysql;
update mysql.user set authentication_string=PASSWORD('这里是你的密码'), plugin='mysql_native_password' where user='root';
flush privileges;
exit;
service mysql restart
  1. 安装常用模块
    apt install libapache2-mod-php php-mysql php-curl php-gd
  2. phpmyadmin安装
    apt install phpmyadmin
  3. 启用mod_rewrite模块
a2enmod rewrite
service apache2 restart

到这里网站基本环境就搭建好了,其余网站路径配置等根据具体应用做配置.这篇文章不做阐述.

2126144584

MindManager2019破解版号称是世界上最强大的思维导图软件,MindManager 可以帮助您将自由浮动的信息转化为清晰的、可操作的计划来驱动结果。相对于强大的xmind,不相上下(xmind 8破解版)。MindManager的工作方式类似于虚拟白板。它可以让您快速捕获想法和信息,然后在同一个地方组织和上下文。拖动主题,在不同的想法之间绘制连接,并将相关的注释,链接和文件存放在它们所属的位置 – 它们都包含在一个清晰,易于导航的地图中。MindManager地图是规划项目,分析流程,整合和转移知识的理想方式。您可以在共享的可视上下文中跟踪可交付成果,截止日期,优先级,资源,依赖关系等。当事情发生变化时,您可以快速进行调整 – 并立即向所有人透露。MindManager通过将来自人,地点和平台的所有与概念,项目或计划相关的信息集成到统一的仪表板地图中来解决诸如缺失数据,错误传达和冗余等问题,该地图向您展示了包含大图和细节的所有人。相同的观点。从头脑风暴到规划再到单一应用程序的执行,将想法转化为行动……就在眼前。闪电小编这里带来的是MindManager2019最新32位和64位安装包,内含注册机,生成注册码可以完美激活MindManager2019,需要的就来下载吧!
下载地址:
解压密码:tech200
618-770-0392
Mind.Manager.v19.0.306_KEYGEN-FFF.7z