mac下安装composer管理遇到的坑和使用php怎么获取pdf的内容实例.md

1、 mac下怎么安装composer?

直接下载文件:地址 https://getcomposer.org/download/ 选择你需要的版本(我这里选择1.9.2)


Composer (composer.phar) versions history
1.9.2	2020-01-14	sha256 58753998712ae435915a452d701ae28a9389653bbf36b3b6adf24e03d90a9467
1.9.1	2019-11-01	sha256 1f210b9037fcf82670d75892dfc44400f13fe9ada7af9e787f93e50e3b764111
1.9.0	2019-08-02	sha256 c9dff69d092bdec14dee64df6677e7430163509798895fbd54891c166c5c0875
1.8.6	2019-06-11	sha256 b66f9b53db72c5117408defe8a1e00515fe749e97ce1b0ae8bdaa6a5a43dd542
1.8.5	2019-04-09	sha256 4e4c1cd74b54a26618699f3190e6f5fc63bb308b13fa660f71f2a2df047c0e17
1.8.4	2019-02-11	sha256 1722826c8fbeaf2d6cdd31c9c9af38694d6383a0f2bf476fe6bbd30939de058a

把他拷贝到全局启动:

cp  下载的文件地址/composer.phar  /usr/local/bin/composer

composer --version  就成功了

如果你系统有多个php版本,也许会出现下面的情况:

这里一定要检查php -v 和 phpinfo() php 的版本是否一致,是否是引用的同一个(本人就是这里导致不一样openssl始终报错,提水没有打开openssl,其实我是打开了,是打开了另外的一个版本,so…..)

如果不一样就替换做软连接

 which php  //查看目录 /usr/local/bin/php (我的目录,mac系统默认使用的php版本)
 //所以我要让默认的 /usr/local/bin/php 连接到我新安装的php
 //phpinfo 可以查看web访问的php所在目录
 //	/usr/local/php5/bin/php(我的目录)
 ln -s /usr/local/php5/bin/php(源)  /usr/local/bin/php(目标)
 

这下php -v 和 phpinfo()的版本应该一致了。

设置composer 相关参数,开启ssl等(因为设置composer要求ssl连接需要开启php的openssl) 手动设置,路径: /Users/jhbai(替换成你的)/.composer/config.json

{
    "config": {
        "disable-tls": true,
        "secure-http": false
},
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

命令设置:

composer config -g -- disable-tls true

composer config -g -- secure-http false

phpinfo 查看php.ini 位置

放开open_ssl扩展 去掉前面;

extension=php_openssl.so

重启apache(或你使用的服务器)

2、怎么使用composer来加载pdfparser类 识别pdf内容?

//cd到项目目录
composer require smalot/pdfparser
//等待完成,然后根目录就出现vendor 目录
引入:
include SITE_PATH.'vendor/autoload.php';
//SITE_PATH是我项目根目录常量
$parser = new \Smalot\PdfParser\Parser();
$pdf = $parser->parseFile(ADDON_PATH."****.pdf");
 $text = $pdf->getText();
 echo $text;

不出意外就很开心的看到结果:

NODE *Creatlink(int  n, int  m) {  NODE  *h=NULL, *p, *s;    int  i;    p=(NODE )malloc(sizeof(NODE)); //p=(NODE *)malloc(sizeof(NODE));    h=p;    p>next=NULL;    for(i=1; i<=n; i++)    {  s=(NODE *)malloc(sizeof(NODE));       s>data=rand()%m;      s>next=p>next;       p>next=s;             p=p>next;    }    return  p; //return  h;     p,p          } fun (int m) //double fun(int m) { double y=0, d;   int i;   for(i=100,i<=m,i+=100) //for(i=100;i<=m;i++)      {d=(double)i*(double)i;       y+=1.0/d;      }   return(y); } void main() { int n=2000;   system("CLS");   printf("\nThe result is %1f\n",fun(n)); } 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 int fun(int n) //float fun(int n) { float A=1;int i;   for(i=2;i=0)        num[i]++;       } } void fun ( char *s, int a, int b ) /