首页
友情链接
推荐
知行首页
About Me
Search
1
解决 Failed to *** : Access denied
164 阅读
2
欢迎光临知行博客
128 阅读
3
Mac上好用的计算器推荐
104 阅读
4
博主大爱的全能神器,简直不要太给力~~~
96 阅读
5
安装UEditor for Typecho丰富Typecho编辑器功能
89 阅读
日常随笔
学习日记
生活感悟
美文赏析
数码科技
编程开发
前端
Andriod
iOS
人工智能
数据库
程序开发
设计&素材
图片素材
软件工具
代码素材
其他素材
设计文章
图库天下
风景
人文
数码&科技
其他
旅行摄影
音乐人生
作品
赏析
海报
感悟
登录
/
注册
Search
雨歌
累计撰写
55
篇文章
累计收到
3
条评论
首页
栏目
日常随笔
学习日记
生活感悟
美文赏析
数码科技
编程开发
前端
Andriod
iOS
人工智能
数据库
程序开发
设计&素材
图片素材
软件工具
代码素材
其他素材
设计文章
图库天下
风景
人文
数码&科技
其他
旅行摄影
音乐人生
作品
赏析
海报
感悟
页面
友情链接
推荐
知行首页
About Me
搜索到
16
篇与
学习日记
的结果
2022-04-01
解决wordpress遇到的/wp-json/wp/v2/ 404错误
<p>这个问题终于还是被我遇到了!于是在网上开始各种安利,什么永久链接啊什么改服务器配置文件啊,什么修改wordpress文件啊,一大堆,然而并不管用!最后猜猜我是怎么解决的?对,就是因为我忘记添加站点的伪静态规则了!!!我忘记添加站点的伪静态规则了!!!我忘记添加站点的伪静态规则了!!!</p><p>所以,遇到问题先冷静分析,不要急于网上爬答案,网上的答案没几个靠谱的,胡扯八扯而已~~~<br/></p>
2022年04月01日
26 阅读
0 评论
0 点赞
2022-03-25
深度Deepin系统中,自己安装Firefox
<p>1.下载最新版的Firefox:http://www.firefox.com.cn/,点击下载,默认下载到当前用户的Download文件夹下</p><p>2.使用如下命令将下载后的安装包解压到/opt目录下</p><blockquote><pre class="line-numbers language-shell">cd ~/Downloadtar -xvf Firefox-latest-x86_64.tar.bz2 sudo mv firefox /opt/firefox</pre><p><br/></p></blockquote><p>3.新增Desktop链接</p><pre class="line-numbers language-shell">cd /usr/share/applicationssudo touch firefox.desktopsudo vim firefox.desktop</pre><p>文件内容为</p><pre class="line-numbers language-bash">[Desktop Entry]Name=FirefoxName[bg]=FirefoxName[ca]=FirefoxName[cs]=FirefoxName[el]=FirefoxName[es]=FirefoxName[fa]=FirefoxName[fi]=FirefoxName[fr]=FirefoxName[hu]=FirefoxName[it]=FirefoxName[ja]=FirefoxName[ko]=FirefoxName[nb]=FirefoxName[nl]=FirefoxName[nn]=FirefoxName[no]=FirefoxName[pl]=FirefoxName[pt]=FirefoxName[pt_BR]=FirefoxName[ru]=FirefoxName[sk]=FirefoxName[sv]=FirefoxComment=Browse the World Wide WebComment[bg]=Сърфиране в МрежатаComment[ca]=Navegueu per el webComment[cs]=Prohlížení stránek World Wide WebuComment[de]=Im Internet surfenComment[el]=Περιηγηθείτε στον παγκόσμιο ιστόComment[es]=Navegue por la webComment[fa]=صفحات شبکه جهانی اینترنت را مرور نماییدComment[fi]=Selaa Internetin WWW-sivujaComment[fr]=Navigue sur InternetComment[hu]=A világháló böngészéseComment[it]=Esplora il webComment[ja]=ウェブを閲覧しますComment[ko]=웹을 돌아 다닙니다Comment[nb]=Surf på nettetComment[nl]=Verken het internetComment[nn]=Surf på nettetComment[no]=Surf på nettetComment[pl]=Przeglądanie stron WWW Comment[pt]=Navegue na InternetComment[pt_BR]=Navegue na InternetComment[ru]=Обозреватель Всемирной ПаутиныComment[sk]=Prehliadanie internetuComment[sv]=Surfa på webbenGenericName=Web BrowserGenericName[bg]=Интернет браузърGenericName[ca]=Navegador webGenericName[cs]=Webový prohlížečGenericName[de]=WebbrowserGenericName[el]=Περιηγητής ιστούGenericName[es]=Navegador webGenericName[fa]=مرورگر اینترنتیGenericName[fi]=WWW-selainGenericName[fr]=Navigateur WebGenericName[hu]=WebböngészőGenericName[it]=Browser WebGenericName[ja]=ウェブ・ブラウザGenericName[ko]=웹 브라우저GenericName[nb]=NettleserGenericName[nl]=WebbrowserGenericName[nn]=NettlesarGenericName[no]=NettleserGenericName[pl]=Przeglądarka WWWGenericName[pt]=Navegador WebGenericName[pt_BR]=Navegador WebGenericName[ru]=Интернет-браузерGenericName[sk]=Internetový prehliadačGenericName[sv]=WebbläsareX-GNOME-FullName=Firefox Web BrowserX-GNOME-FullName[bg]=Интернет браузър (Firefox)X-GNOME-FullName[ca]=Navegador web FirefoxX-GNOME-FullName[cs]=Firefox Webový prohlížečX-GNOME-FullName[el]=Περιηγήτης Ιστού FirefoxX-GNOME-FullName[es]=Navegador web FirefoxX-GNOME-FullName[fa]=مرورگر اینترنتی FirefoxX-GNOME-FullName[fi]=Firefox-selainX-GNOME-FullName[fr]=Navigateur Web FirefoxX-GNOME-FullName[hu]=Firefox webböngészőX-GNOME-FullName[it]=Firefox Browser WebX-GNOME-FullName[ja]=Firefox ウェブ・ブラウザX-GNOME-FullName[ko]=Firefox 웹 브라우저X-GNOME-FullName[nb]=Firefox NettleserX-GNOME-FullName[nl]=Firefox webbrowserX-GNOME-FullName[nn]=Firefox NettlesarX-GNOME-FullName[no]=Firefox NettleserX-GNOME-FullName[pl]=Przeglądarka WWW FirefoxX-GNOME-FullName[pt]=Firefox Navegador WebX-GNOME-FullName[pt_BR]=Navegador Web FirefoxX-GNOME-FullName[ru]=Интернет-браузер FirefoxX-GNOME-FullName[sk]=Internetový prehliadač FirefoxX-GNOME-FullName[sv]=Webbläsaren FirefoxExec=/opt/firefox/firefox %uTerminal=falseX-MultipleArgs=falseType=ApplicationIcon=firefoxCategories=Network;WebBrowser;MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;StartupWMClass=FirefoxStartupNotify=true</pre><p><br/></p>
2022年03月25日
9 阅读
0 评论
0 点赞
2022-03-15
在安装ps2022遇到安装失败错误代码182解决方法
<p>photoshop2022安装过程中遇到Failed with error code 182如何解决呢?这里小编为大家带来了详细的解决方法,需要的朋友收藏起来吧!</p><article><p></p><p>2022版本ps需要安装Adobe Creative Cloud,再运行安装包,否则会出现错误提示。如果遇到错误提示182,说明安装过旧版本</p><p>ps2022遇到安装失败错误代码182解决方法</p><p>在访达中点击【前往文件夹】</p><p></p><p>输入路径【/Library/Application Support/Adobe】,点击回车</p><p></p><p>找到文件夹【caps】并删除它</p><p></p><p>然后重新安装ps即可!</p><p></p></article><p><br/></p><p><br/></p><p><br/><br/>作者:Mac小王子</p>
2022年03月15日
73 阅读
0 评论
0 点赞
2021-11-01
uniapp实现身份证实名认证
百度智能云身份证识别API:https://cloud.baidu.com/doc/OCR/s/rk3h7xzck身份证识别每天免费调取次数500次 <template> <view class="content"> <view class="uni-common-mt"> <view class="uni-form-item uni-column option"> <view class="title msg-left">姓名:</view> <input class="uni-input msg-right" placeholder="请输入真实姓名" v-model="name"/> </view> <view class="uni-form-item uni-column option"> <view class="title msg-left">身份证号码:</view> <input class="uni-input msg-right" type="number" placeholder="请输入身份证号码" v-model="IdNumber"/> </view> <view class="uni-form-item uni-column img"> <view class="title">上传身份证:</view> <image class="img" :src="src" @tap="scan()"></image> </view> </view> <view> <button type="primary" @click="getIDCard()">点击认证身份信息</button> </view> </view> </template> <script> var that; const card = uni.requireNativePlugin('DC-CardRecognize'); export default{ data() { return { title: 'input', focus: false, name: "", IdNumber:"", src:"../../../../static/me/photo.png", httpUrl:"https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=", imageBase64Str:"", access_token:"" } }, onLoad() { that=this; //token验证 this.getAccess_token(); }, methods: { getAccess_token(){ var accessToken= that.cache("accessToken",null,null); console.log(accessToken) if(!accessToken){ uni.request({ method: 'POST', header: { 'Content-Type': 'application/x-www-form-urlencoded' }, url: "https://aip.baidubce.com/oauth/2.0/token", data:{ grant_type:"client_credentials", client_id:this.APIKey, client_secret:this.SecretKey }, success: function(res) { console.log(res.data.access_token); //uni.setStorageSync("Baidu",res.data); that.access_token=res.data.access_token; that.cache("accessToken",res.data.access_token,null); } }) }else{ that.access_token=accessToken; } }, //缓存,默认有效期28天 cache:function(key, value, seconds) { var timestamp = Date.parse(new Date()) / 1000 console.log(timestamp+"==="+key) if (key && value === null) { //删除缓存 //获取缓存 var val = uni.getStorageSync(key); var tmp = val.split("|") if (!tmp[1] || timestamp >= tmp[1]) { console.log("key已失效") uni.removeStorageSync(key) return "" } else { console.log("key未失效") return tmp[0] } } else if (key && value) { //设置缓存 if (!seconds) { var expire = timestamp + (3600 * 24 * 28) }else{ var expire = timestamp + seconds } value = value + "|" + expire uni.setStorageSync(key, value); } else { console.log("key不能空") } }, getIDCard() { var flag=this.verifyData(); if(flag){ console.log("==") //百度名片识别接口处理开始 uni.showLoading({ mask: true, title: "识别中,请等待" }); uni.request({ url: "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?access_token="+that.access_token, method: 'POST', header: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: { image: that.imageBase64Str, id_card_side:"front" }, success: function(res) { console.log(res); var IdCard=res.data.words_result.公民身份号码.words; var userName=res.data.words_result.姓名.words; console.log(res.data.words_result.公民身份号码.words) if(IdCard==that.IdNumber&&userName==that.name){ console.log("身份验证成功"); uni.showToast({ icon: 'success', title: '身份验证成功' }); }else{ uni.showToast({ icon: 'none', title: '身份信息有误请审核信息' }); } }, complete() { uni.hideLoading(); } }) } }, //校验输入的数据 verifyData() { var flag = true; if (!this.name) { flag = false; uni.showToast({ icon: 'none', title: '姓名不能为空' }); return false; } if (!this.IdNumber) { flag = false; uni.showToast({ icon: 'none', title: '身份证号不能为空' }); return false; } var re15 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; var re18 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/; var res = (re15.test(this.IdNumber) || re18.test(this.IdNumber)); if(res==false){ flag = false; uni.showToast({ icon: 'none', title: '身份证号填写有误' }); return false; } if(!this.imageBase64Str){ flag = false; uni.showToast({ icon: 'none', title: '请上传身份证含照片一面' }); return false; } return flag; }, scan() { var me = this; uni.chooseImage({ count: 1, sizeType: ['compressed'], sourceType: ['album', 'camera'], success: function(res) { var tempFilePath = res.tempFilePaths[0]; me.tempFile = tempFilePath; plus.io.resolveLocalFileSystemURL(me.tempFile, function(entry) { entry.file(function(file) { var fileReader = new plus.io.FileReader(); fileReader.readAsDataURL(file); fileReader.onloadend = function(evt) { //console.log("=="+evt.target.result); that.imageBase64Str = evt.target.result.split(",")[1]; that.src=evt.target.result; } }) }) } }) } } } </script> <style> .option{ display: flex; margin-top: 4%; margin-left: 30upx; padding-bottom: 30upx; border-bottom: #333333 solid 0.5upx; } .msg-left { flex: 5; display: flex; justify-content: flex-start; align-items: center; } .msg-right { flex: 2; display: flex; justify-content: center; text-align: center; margin-right: 15upx; border-bottom: #000000 solid 0.5upx; } .img { display: flex; margin-top: 4%; margin-left: 30upx; padding-bottom: 30upx; } .img image { justify-content: center; margin-top: 8%; width: 300upx; height: 300upx; } </style>
2021年11月01日
88 阅读
0 评论
0 点赞
2021-10-16
centos7 systemd in Fedora 22: Failed to restart service: Access Denied
使用 systemctl 重启服务的时候提示拒绝访问$ systemctl restart postfix Failed to restart postfix.service: Access denied12解决办法:systemctl daemon-reexec
2021年10月16日
71 阅读
0 评论
0 点赞
2021-10-16
解决 Failed to *** : Access denied
问题:[root@xxx ~ ]# systemctl status *.serviceFailed to get properties: Access denied办法:kill -TERM 1
2021年10月16日
164 阅读
0 评论
0 点赞
2021-10-16
centos8 新增ssh自定义端口与屏蔽默认22端口
第一步:修改SSH配置文件(注意是sshd_config而不是ssh_config,多了个d)vim /etc/ssh/sshd_config找到“#Port 22”,这一行直接键入“yyp”复制该行到下一行,然后把两行的“#”号即注释去掉,修改成:Port 22Port 10086SSH默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面我保留了22端口,防止之后因为各种权限和配置问题,导致连22端口都不能访问了,那就尴尬了。等一切都ok了,再关闭22端口。增加了10086端口,大家修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行。第二步:如果你关闭了SELinux,可以忽略第二步。先查看SELinux开放给ssh使用的端口semanage port -l|grep ssh我的系统打印如下:ssh_port_t tcp 22可知,SELinux没有给SSH开放10086端口,那么我们来添加该端口:semanage port -a -t ssh_port_t -p tcp 10086完成后,再次查看semanage port -l|grep sshssh_port_t tcp 22,10086第三步:如果你关闭了防火墙,可以忽略第三步,话说防火墙不开启太危险了,建议开启。先查看防火墙是否开启了10086端口:firewall-cmd --permanent --query-port=10086/tcp打印结果如下:no表示没有开放10086端口,那么添加下该端口:firewall-cmd --permanent --add-port=10086/tcp打印结果如下:success重新加载防火墙策略:firewall-cmd --reload执行成功后,查看10086端口是否被开启:firewall-cmd --permanent --query-port=10086/tcp打印结果如下:yes第四步:重启SSH服务和防火墙,最好也重启下服务器systemctl restart sshdsystemctl restart firewalld.serviceshutdown -r now第五步:尝试通过10086端口登录SSH,或者进入该服务器直接本地访问SSH如下:ssh root@localhost -p 10086登录成功后关闭默认 22端口firewall-cmd --permanent --zone=public --remove-port=8080/tcp重启防火墙systemctl reload firewalld查看防火墙端口 firewall-cmd --list-ports
2021年10月16日
79 阅读
0 评论
0 点赞
2021-10-14
安装UEditor for Typecho丰富Typecho编辑器功能
如果我们自建个人网站并不需要特别复杂的功能的时候,并不一定非要选择WordPress。并且WordPress真要完好确实需要一定的技术能力,尤其是后续的功能和优化需要琢磨才能使用的更好。一般普通个人网站完全可以使用Typecho,算是比较好的轻量博客程序,当然我们也看到很多个人使用Typecho做的网站也都很好。大部分网友唯独不是特别满意Typecho的就是编辑器采用的是Markdown编辑器。毕竟官方考虑到是整个程序的体积和轻便,不过对于很多人来说不是特别喜欢这个编辑器。我们可以安装其他编辑器来丰富编辑功能,其中可以安装的是UEditor for Typecho。UEditor由百度提供的,然后有其他网友进行整合兼容到Typecho,我们一起安装看看吧。文章目录 隐藏 第一、UEditor for Typecho下载和安装 第二、UEditor for Typecho激活使用 第三、UEditor for Typecho附加功能 第一、UEditor for Typecho下载和安装下载地址:https://github.com/chanshengzhi/UEditor-for-Typecho最新更新是2017年底,应该是较为完善的。至少我安装后没有出现较大的问题。我们下载之后解压,然后将UEditor文件夹丢到当前Typecho主题下的usr/plugins文件夹下。第二、UEditor for Typecho激活使用1、暂停当前编辑器我们需要在控制台-个人设置中关闭当前的编辑器。2、激活编辑器控制台-插件,找到当前安装的UEditor for Typecho插件进行激活。这个时候我们再去编辑文章看看是什么编辑器?是不是比较丰富?第三、UEditor for Typecho附加功能如果我们需要将编辑器出现的静态文件,比如图片附件不在本地保存。可以配置到腾讯云COS或者又拍云。总结,如果我们需要在Typecho较为丰富的编辑器是可以安装UEditor for Typecho插件的。
2021年10月14日
89 阅读
0 评论
0 点赞
2021-10-13
vue绑定元素属性中插入带变量的参数解决办法
第一种方法:<a :href="value.goodsId"></a>第二种方法:v-bind:属性="'字符串'+vue变量+'字符串'"<a :href="value.goodsId"></a>当点击a标签跳转到商品详情页的时候,需要获取到点击的商品的goodsId,所以要在a标签的href上传入goodsId的参数,但是直接<a :href="value.goodsId"></a>或者<a :href="value.goodsId"></a>都是错误的,那么怎么才能正确传入想传的参数呢,这就需要使用 methods<div id="app"> <a :href="getGoodsHref(value.id )"></a></div>new Vue({el: '#app',data: {},methods:{getGoodsHref:function(val){return 'http://baidu.com?goodsId='+val}}
2021年10月13日
32 阅读
0 评论
0 点赞
2021-10-13
Vue的生命周期
Vue实例有一个完整的生命周期,也就是说从开始创建、初始化数据、编译模板、挂在DOM、渲染-更新-渲染、卸载等一系列过程,我们成为Vue 实例的生命周期,钩子就是在某个阶段给你一个做某些处理的机会。 beforeCreate( 创建前 ) 在实例初始化之后,数据观测和事件配置之前被调用,此时组件的选项对象还未创建,el 和 data 并未初始化,因此无法访问methods, data, computed等上的方法和数据。 created ( 创建后 ) 实例已经创建完成之后被调用,在这一步,实例已完成以下配置:数据观测、属性和方法的运算,watch/event事件回调,完成了data 数据的初始化,el没有。 然而,挂在阶段还没有开始, $el属性目前不可见,这是一个常用的生命周期,因为你可以调用methods中的方法,改变data中的数据,并且修改可以通过vue的响应式绑定体现在页面上,,获取computed中的计算属性等等,通常我们可以在这里对实例进行预处理,也有一些童鞋喜欢在这里发ajax请求,值得注意的是,这个周期中是没有什么方法来对实例化过程进行拦截的,因此假如有某些数据必须获取才允许进入页面的话,并不适合在这个方法发请求,建议在组件路由钩子beforeRouteEnter中完成 beforeMount 挂在开始之前被调用,相关的render函数首次被调用(虚拟DOM),实例已完成以下的配置: 编译模板,把data里面的数据和模板生成html,完成了el和data 初始化,注意此时还没有挂在html到页面上。 mounted 挂在完成,也就是模板中的HTML渲染到HTML页面中,此时一般可以做一些ajax操作,mounted只会执行一次。 beforeUpdate 在数据更新之前被调用,发生在虚拟DOM重新渲染和打补丁之前,可以在该钩子中进一步地更改状态,不会触发附加地重渲染过程 updated(更新后) 在由于数据更改导致地虚拟DOM重新渲染和打补丁只会调用,调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作,然后在大多是情况下,应该避免在此期间更改状态,因为这可能会导致更新无限循环,该钩子在服务器端渲染期间不被调用 beforeDestroy(销毁前) 在实例销毁之前调用,实例仍然完全可用, 这一步还可以用this来获取实例, 一般在这一步做一些重置的操作,比如清除掉组件中的定时器 和 监听的dom事件 destroyed(销毁后) 在实例销毁之后调用,调用后,所以的事件监听器会被移出,所有的子实例也会被销毁,该钩子在服务器端渲染期间不被调用
2021年10月13日
22 阅读
0 评论
0 点赞
2021-10-13
免终端开发vue应用
暂无简介
2021年10月13日
39 阅读
0 评论
0 点赞
2021-10-13
vue项目下的导入和导出
本篇博文主要记录我们在写项目的时候经常需要用到导入和导出。 导入 首先定义一个模态弹窗,一般情况下会使用一个input(设置opacity:0)覆盖在显示的按钮上面 <!-- 3.导入 --> <Modal title="批量导入" v-model="importVisual" width="450px" class="page-open-question-import"> <div class="import-btn"> <input class="upload-input" @change="fileChange($event)" name="files" type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" /> <Button type="primary" ghost style="margin-left:40px" icon="ios-cloud-upload-outline" >点击上传Excel文件</Button> <span class="file-name" v-show="fileName" :title="fileName">{{fileName}}</span> </div> <div class="import-text"> <span>文件小于10M,内容需符合模板规范</span> <span>导入文档前请先添加好相应的类目</span> </div> <div class="import-example" @click="download"> <Icon type="ios-cloud-download-outline" />下载规范模板 </div> <div slot="footer"> <Button @click="importVisual=false">取消</Button> <Button type="primary" @click="importOk">确定</Button> </div> </Modal> 通过type='file'的输入框获取到文件信息,一般情况下的导入接口使用的是formdata信息 // 导入选择文件 fileChange (el) { this.importFile = el.target.files[0]; this.fileName = this.importFile.name; }, // 确定导入 importOk () { let param = new FormData(); param.append('file', this.importFile); importData(param, { kgId: this.kgId }).then(res => { // 导入成功后操作 ...... this.importVisual = false; this.$Message.success('导入成功!') }) }, 导出 get 请求 一般情况下,我们可以直接使用window.open()的方法来导出后端提供的get请求; // 根据参数导出数据 downloadModel () { window.open( `${httpConfig.baseURL}/kg/dataset/data/template/${this.datasetId}` ); } post 请求 有的接口因为传参比较多,会需要使用post请求,那么上面的方法就不合适,通用的请求会出现乱码,大多数情况下我们会使用表单提交的方法 创建form表单请求的方法 // 导出文件 formSubmit (param, url) { var $form = document.getElementById('exportForm'); if (!$form) { $form = document.createElement('form'); $form.setAttribute('id', 'exportForm'); $form.setAttribute('method', 'post'); $form.style.display = 'none'; document.getElementById('exportParent').appendChild($form); } $form.setAttribute('action', url); // 记得要把token信息带上 let token = this.$cookies.get('access_token'); param.access_token = token; for (var obj in param) { var input = document.createElement('input'); input.type = 'hidden'; input.name = obj; input.value = param[obj]; $form.appendChild(input); } $form.submit(); } 导出的方法中使用 // 确认导出 exportOk () { // 根据label获取id ...... // 请求导出 this.formSubmit( { kgId: this.kgId, status: this.status, categoryIds: this.categoryIds.join('|') }, this.exportUrl ); }
2021年10月13日
63 阅读
0 评论
0 点赞
2021-10-02
PHP环境搭建-MAMP使用指南
题记:公司需要维护一套后台PHP系统,被抓来临时顶锅。本人是iOS开发出身,虽然了解一些HTML和JS,可对PHP真的一窍不通,但没办法只能赶鸭子上架了。 首先要想调试PHP项目,就要搭建PHP运行环境,有两种方式:第一种:分开安装PHP环境,需要服务器Apache或者Nginx,数据库MySQL和PHP 第二种:直接安装集成环境,服务器、数据库和PHP都是集成好了的 对于初学者来说本人推荐安装集成环境。 如果使用Mac系统推荐安装MAMP,如果是Windows系统推荐安装WAMP,我肯定安装额是MAMP...... 下载地址:特别版 安装方法: ** 安装新版本时,请将旧版本的所有服务停止,再进行安装 ** 安装DMG中的pkg文件 打开DMG中的SN.txt(或Serial.rtf)文件,将序列号添加在软件激活界面即可 SN:DED4-0A88-3A11-F9FDE SN:CB7E-F665-A199-E2E68 解压密码:xclient.info 下面就是使用MAMP启动项目: 1.Hosts - General - Document root 修改虚拟目录的地址 注意:htdocs放站点文件(把站点里的内容拷进去),web文件是自己的index.php的上级文件夹,在浏览器中输入localhost进行调试,你的项目首页是否显示。 也可以不用把站点文件(你的项目文件)拷贝到htdocs文件里,直接选择Document root 打开的路径就可以了。 2.Hosts - General - Apache - Directory index: 修改启动的首页 3.Ports 修改端口号 4.到此应该能够显示PHP页面了,如果没有显示,接着往下配置 找到 应用程序 - > MAMP - > conf -> apache - > httpd.conf (这个文件是apache 的配置文件) 查看服务器监听的是否 80端口 如果服务器还需要配置什么东西的话,可以在这个文件中修改 5.如果你的页面已经加载完成,但是无法连接到MySQL数据库, 打开这个文件,找到下面这段代码查看你的MySQL连接是否有问题,一般情况下就是root(如果你的PHP文件里面的数据库连接没有有问题的话可以把服务器用户名和密码改成你的后台数据库登录的用户名和密码) 如果没有问题的话,那就应该是你的PHP文件里面的数据库连接有问题 找到你的PHP文件里面连接数据库的文件db.php(可能是) host:就是你的数据库地址 dbname:就是的数据库名字(可不是你登录数据库的用户名) username: 登录数据库的用户名 password : 登录密码 这应该就能连接到数据库了,在连接不到鄙人也没办法了 注:本人安装MAMP时,已经自己安装过了MySQL数据库(Nacicat) 作者:葱花思鸡蛋来源:简书
2021年10月02日
26 阅读
0 评论
0 点赞
2021-10-02
如何设计一个好的logo标志
LOGO应该有代表性的寓意,一个好的LOGO应该有能够表达企业特性的色彩.字体选择及设计在LOGO的设计制作中亦是比重非常大的一个部分,不管是以字为主体造型的LOGO,还是字体为辅助图形的LOGO.1. LOGO应该有代表性的寓意中国银行的LOGO的经典之处也不用我来多废话,我们来看一看它所包含的寓意:(1)首先,既然是中国银行,它的图形部分中间实际上是一个中国的“中”字;(2)其次,外圆中方的造型,则代表着中国的古钱币,将银行这一特性表达出来;(3)再次,圆形的外观则指中国银行面向全球,着眼世界。2. LOGO的用色一个好的LOGO应该有能够表达企业特性的色彩同为美国的2家著名企业的LOGO,都是以大量的字母为基础造型的LOGO,给观者的感觉却是截然不同的两种感觉,色彩的运用起到了很重要的作用微软,沉重的颜色,要传达给用户的是沉稳/深度/专业严谨等信息。可口可乐,鲜亮的色彩搭配活跃飘逸的字体,年轻/活力的感觉跃然纸上。在一个色彩扮演的角色越来越重要的时代,现今也涌现出大量的色彩丰富绚烂的优质LOGO.搭配协调的很好的多种颜色的组合能够给观者更加强烈的思维记忆和视觉记忆.但是,若非有一定的色彩驾驭能力,否则只会让画面显得杂乱烦躁加眼花3. LOGO的字体选择字体选择及设计在LOGO的设计制作中亦是比重非常大的一个部分,不管是以字为主体造型的LOGO,还是字体为辅助图形的LOGO,字体在整个LOGO设计公司中占据的位置都是非常重要的,我们先来看看纯文字类LOGO中字体的表现:微软粗壮的黑体给观者的感觉就是成熟,稳重,严谨加上一目了然的公司名称和少许的字体变形及设计,一个大气沉稳有安全感的气质就显露出来了.可口可乐飘逸,圆润,活跃,跳动,巧妙的穿插,这些字体设计的元素让可口可乐LOGO醒目和体现产品特点等功能一应俱全!4. LOGO的整体性一个LOGO最基本的整体性要有保证,在视觉上不能太散,相互之间要有联系,要给观者以整体,统一的感觉,不能轻易被其他元素干扰。图形方面,完全是在一个规范的方形范围之内做文章,想散也散不了,非常保险的保持整体性的方法;一个纯文字图形组成的LOGO,找到字母共同点,加以变形,做到5个字母的外形相似,整齐排列,增强整体感稳定性;5.LOGO的应用LOGO要易于应用,这样才能更易于传播。 所以为了LOGO能够更好的应用在各种不同的领域,所以墨稿以及反白稿都是必不可少的,即使你的LOGO是带有很强的立体效果或者是颜色变化,都要考虑到单色的转换和应用方面。作者:乔英来源:简书
2021年10月02日
20 阅读
0 评论
0 点赞
2021-10-02
Adobe公司都有哪些软件,分别有什么用?
小编感觉Adobe就是一个全家桶啊,几乎各行各业都能看到他的身影,上一期写了ps 2019的新版本有哪些新增功能,今天小编为大家聊一下Adobe公司都有哪些软件,分别起到了什么作用。1、Photoshopps可以说是目前最广泛的图像处理软件也是人们最常用的修图软件。Photoshop的专长在于图像处理,而不是图形创作。可以应用到很多地方:平面设计、修复照片、广告摄影、影像创意、网页制作、绘画、绘制或处理三维帖图等等,功能十分强大! 2、Adobe Flash(Fl)Fl是世界上第一个商用的二维矢量动画软件,用于设计和编辑Flash文档。被大量应用于因特网网页的矢量动画文件格式,使用向量运算的方式,产生出来的影片占用存储空间较小,使用Flash创作出的影片有自己的特殊档案格式﹙swf﹚。可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。Flash可以包含简单的动画、视频内容、复杂演示文稿和应用3、Adobe Premiere Pro(Pr)pr是常用的一款视频编辑软件,有CS4、CS5、CS6、CC 2014,CC2015, CC 2017,CC2018版本。小编觉得Pr的兼容性非常好,画面质量都很ok。总而言之你使用了就离不开了,会满足大部分剪辑师创建高质量作品的要求。4、Adobe After Effects(AE):这是一个专业非线性特效合成软件。它可以对多层的合成图像进行控制,制作出天衣无缝的合成效果,里面包含了上百种特效和预设动画,小编最近在学习这款软件,随便做了一些特效,感觉合成效果非常好。5、Adobe Lightroom(Lr)LR是一款基于后期的图形处理软件,它针对数码摄影、图形设计等专业人士或一些高端用户,可以为数码快速导入、处理管理和展示图像。小编摄影后的图片一般都会经过Lr调色等其他处理,是一款非常高效率的处理软件,为很多摄影师节约了时间。6、Adobe Audition(Au)AU是目前非常专业的一款音频处理软件,提供音频混合、编辑、控制和效果处理功能。可以很方便的对声音信息进行处理。7、Adobe Contribute(Ct)ct是一款网站管理工具,并简化了网站编辑过程,进行网站设计的都会需要用到它。8、Adobe Dreamweaver(Dw)DW是一款网页设计软件,百度上是这样解释的:利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。9、Adobe Illustrator(Ai)是一款基于矢量图形的制作软件,它主要应用于印刷出版、海报书籍排版、插画和互联网页面的制作等10、Adobe Acrobat可以阅读和编辑PDF格式文档11、Adobe Fireworks(Fw)优化网页制作,可以设计一些效果等12、Adobe Reader主要用来阅读PDF格式的文档,与FW不同的是,它的功能会更强大一些,可以直接从电子邮件中打开PDF文档。13、Adobe Indesign(ID)是一款专业排版领域的设计软件作者:赵小包
2021年10月02日
18 阅读
0 评论
0 点赞
1
2