手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:PHP

[置顶] composer初装需要执行的几个命令

 因为我一直用Yii2框架。所以安装composer和安装后需要执行的命令如下,【纯记录】

1、下载composer
composer下载(具体详细的还需要:https://getcomposer.org/download/ ,必须 sha 还是经常会变的,鉴于可能经常会变所以注释掉了第二行)
  1. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"  
  2. #php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  3. php composer-setup.php  
  4. php -r "unlink('composer-setup.php');"  
  5.   
2、mv composer.phar /usr/local/bin/composer  #移到系统目录,变成全局命令
3、composer config -g repo.packagist composer https://packagist.phpcomposer.com    #国内源
    phpcomposer好象垮了!
    更新为:composer config -g repo.packagist composer https://packagist.laravel-china.org 
4、composer global require hirak/prestissimo   #多线程
5、composer global require "fxp/composer-asset-plugin:^1.4"   #升级为1.4
6、composer update -vvv  
 
就这样了 
 
合并后的命令
XML/HTML代码
  1. php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"      
  2. php composer-setup.php      
  3. php -r "unlink('composer-setup.php');"      
  4. mv composer.phar /usr/local/bin/composer    
  5. composer config -g repo.packagist composer https://packagist.phpcomposer.com      
  6. composer global require hirak/prestissimo     
  7. composer global require "fxp/composer-asset-plugin:^1.4"     
  8. composer update -vvv    
  9. #over    
 
如果采用了git,记得在运行完clone后:git config credential.helper store  ,可以将当前用户名和密码存下来(针对HTTP方式,如果是ssh本来就不需要)
 

Git:Out of memory, malloc failed解决

 本来我是应该不会遇到这种问题的吧?只是在用composer的时候,因为dcat-admin经常更新,但release版本又比较慢。所以就直接引用他的git了。本地无所谓,毕竟我有32G内存,上线后,在composer update的时候,报out of memory.

网上不少的例子都是说:git config --global pack.windowMemory 1024m,我这样试了之后没有解决
于是:

git config --global pack.windowMemory 1g
git config --global pack.packSizeLimit 1g

git config --global pack.deltaCacheSize 1g

git config --global core.packedGitLimit 1g

git config --global core.packedGitWindowSize 1g

还是没有用。再找资料的时候有看到说,可能是因为没有swap空间,即使你的内存大,没有swap也可能会有问题。于是看了一下,确实:free -m的时候。swap确实是0,参考:https://stackoverflow.com/questions/14038074/git-pull-fatal-out-of-memory-malloc-failed

好吧,几步操作:

1、dd if=/dev/zero of=/root/myswapfile bs=1M count=1024

2、chmod 600 /root/myswapfile

3、mkswap /root/myswapfile

4、swapon /root/myswapfile

5、vim /etc/fstab
/root/myswapfile               swap                    swap    defaults        0 0

然后就一切OK了,没有好好排版。因为,断断续续的写了三天。中间还断过一次。忍忍吧(等什么时候换laravel后台再好好弄弄)

Dcat-Admin 的 multipleSelect和select 在编辑的时候如何赋值?

 Dcat-Admin的multipleSelect和select 在新增的时候,可以通过default()方法给它赋值,但在编辑的时候,不能通过default方法赋值。

1、如果编辑的时候,默认数据库取出来的值,对应着 options中的key,可以直接使用。

2、如果需要调整,比如存到数据库时,是字符串型,但select/multipleSelect的value只能是数组。如果通过->value([$data])赋值也是无效的。只能通过customFormat方法进行赋值。默认的参数就是传进来的值。如果你是字符串,可以explde,如果是对象,可以遍历后返回。

参考 :http://www.dcatadmin.com/docs/master/model-form-fields.html

Dcat-Admin with vue

有时候你不得不承认,DCAT-admin / laravel-admin 做后台是属于比较方便的。你硬要说nova之类的,我也无话可说。但毕竟nova要钱,而且文档并没有国内的全。

为什么说dcat-admin,主要还是laravel-admin好久没有大更新了。然后laravel-admin的多应用要钱。虽然我买了,但更新太慢,我现在还是用dcat了。

很多人在github上面问,为什么不支持VUE。其实也能理解 ,vue如果用了, pjax就不太好用了。但我还是得说,如果你只是简单的,不做特别复杂的应用,还是有办法支持vue的。

首先全局引用JS,Admin::js(),这个不用多说,如果不想全局引用,那就在自己的页面里,将它引用出来就行了。

然后用了个简单的demo,

XML/HTML代码
  1. <div id="sign-form">  
  2.   @{{ form }}  
  3.   <el-input v-model="input" placeholder="请输入内容"></el-input>  
  4.     
  5.   <el-steps :active="active" finish-status="success">  
  6.     <el-step title="步骤 1"></el-step>  
  7.     <el-step title="步骤 2"></el-step>  
  8.     <el-step title="步骤 3"></el-step>  
  9.   </el-steps>  
  10.     
  11.   <el-button style="margin-top: 12px;" @click="next">下一步</el-button>  
  12.   
  13. </div>  
  14. <script>  
  15.   var form = {};  
  16.   new Vue({  
  17.     el: '#sign-form',  
  18.     data() {  
  19.       return {  
  20.         form: form,  
  21.         input: '{{date('Y-m-d H:i:s')}}',  
  22.         active: 0  
  23.       };  
  24.     },  
  25.     mounted() {  
  26.       this.request();  
  27.     },  
  28.     methods: {  
  29.       formReset() {  
  30.         this.form = form;  
  31.       },  
  32.       request() {  
  33.         this.form = {a: 1, b: 2, c: 3, d: 5};  
  34.         {{--laravel.get('{{api_url('union/bind/check/123')}}', res => {--}}  
  35.         {{--  console.log(res);--}}  
  36.         {{--});--}}  
  37.       },  
  38.       next() {  
  39.         if (this.active++ > 2) this.active = 0;  
  40.       }  
  41.     }  
  42.   });  
  43. </script>  

 

保存后,点开网页看看。确实不会再加载了。但这种VUE,就只适合单页面用用了(当然,本身也就是为了在复杂的表单上使用它。也够了)

---差点没有保存。。

 

composer clear-cache

看起来这个标题好象没啥,今天被折腾了好久

因为网络不好,所以在更新的时候一直更新不下来。再更新就报zip包出错,多次尝试都是这样。
删除vendor目录,再试也是这样
开始以为是墙的问题,毕竟压缩包都在github上,所以爬了梯子试了下,还是zip包出错
 
因为发现问题都是出现在load from cache,所以想了下,还是用composer clear-cache清空一下。然后composer global update,再回到本目录,进行composer update
 
一切OVER
 
Records:62312345678910»