php7安装

标 签:

    liunx 下 php7源码安装方法:

1.在php的官网下载php7源码,网址:php.net

2.我用的是centos7做为系统平台,下载的php版本为7.4,命令如下:

cd
mkdir down
cd down
wget -c https://downloads.php.net/~derick/php-7.4.0alpha1.tar.bz2

如果提示没有 wget,直接安装:

yum install wget

3.解压下载的php包

tar -xjvf php-7.4.0alpha1.tar.bz2
cd php-7.4.0alpha1

如果提示 tar (child): bzip2错误,是因为tar没有安装 bz2的解压插件

yum install -y bzip2

4.php7源码安装,跟集成包不一样,得自己配置一些参数,比如最基础的安装路径等

./configure --prefix=/usr

如果提示一些错误,比如没有 c 的编译环境:configure: error: no acceptable C compiler found in $PATH,就安装 c 的编译包

yum install gcc gcc-c++

提示没有  No package 'libxml-2.0' found,安装

yum install -y libxml2 libxml2-devel

5. php7 编译安装

make
make install

6. 安装完成后,运行

php -v

看到版本号就说明安装成功,但一般都会提示,找不到php的,可以进行下面配置

cd
vi .bashrc

在里面添加

alias php=/usr/local/php/bin/php

保存后远行如下命令就可以

source .bashrc

7. php7源码后,其实是没有php.ini配置文件,运行命令,查看 php.ini 配置放在什么位置

php -i | grep php.ini

8.移动配置,先移动到解压的php文件夹里面,里面有两个php.ini的配置文件,一个开发,一个生产的,都可以

cp php.ini-development /usr/local/php/lib/php.ini


PHP / 评 论 (0) / 热度 (55℃) / 2019-07-26 / 阅读全文  / MaWei

laravel 框架路径获取函数

标 签: jquery

    1. laravel获取项目根目录函数:

base_path();

    2. laravel获取项目 app 目录函数:

app_path();

    3. laravel获取项目配置 config 目录函数:

config_path();

    4. laravel获取项目数据库 database 目录函数:

database_path();

    5. laravel获取项目入口 public 目录函数:

public_path();

    6. laravel获取项目里某个文件的绝对路径方法如下:

$path = base_path('vendor/bin');
$path = app_path('Http/Controllers/Controller.php');


PHP / 评 论 (0) / 热度 (161℃) / 2018-10-12 / 阅读全文  / MaWei

laravel composer 安装

标 签:

    现在lavavel 一键下载安装包已经没有了,得git一堆东西自己打包,我自己搞了很久,没有搞定,没有什么文档

最后没有办法,只能用composer,但composer下载很慢,但composer请求地址改成中国就好了,下面就来说说composer

安装 lavavel 方法:

    1.第一步就是把你的php安装目录加入系统环境里面,如果不会,那自己百度了

    2.下载composer,可以下载安装包,但安装包安装composer后,下载 lavavel ,下载地址:

https://getcomposer.org/download/

在页面找到 Composer-Setup.exe ,或者 用命令行安装,页面里都有.但这两种方法我都试,结果项目下载到别的地方了,

路径不在你项目,如果是widown在你用户目录里

    C:\Users\MaWei\AppData\Roaming\Composer

 我找了很久,不知道怎么解决,只是把composer安装你的项目里,但这肯定不行的,如果有知道怎么解决可以告诉我的一下,QQ:1123265518

    3.所以我不推荐新手用上面 2 的方法,如果有大神可以告诉上面的方法解决办法,谢谢了,我后来用的方法也是在这个下载页面,在下面一点,

有个 manual download, 手动下载,找到 Latest Snapshot ,点击下载,下载的文件名是 compser.phar ,保存在你的网站根目录

    4.在你的网站根目录里面新建一个 composer.json 文件,里面写入如下的内容:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.0.0",
        "laravel/framework": "5.5.*"
    },
    "config": {
        "preferred-install": "dist"
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

上面的配置项我就不一一说明了,看key就明白了.

    5.现在就可以直接创建lavavel项目,命令如下:

php composer.phar create-project laravel/laravel 项目名 --prefer-dist

    6.完成后就可以看到你的根目录创建一个项目,名字就是刚刚创的项目名

    7.注意的是,php的路径要加入系统变量里,加入进去后就可以输入命令

php -v

可以看到php的版本,注意的事,lavavel 5.5的版本要php7版本以上

PHP / 评 论 (0) / 热度 (170℃) / 2018-04-23 / 阅读全文  / MaWei

php安装rar模块

标 签: debianphp

    最近项目需要用到php解压rar,不知道怎么搞,这几天一直在折腾php解压rar,搞的我都没有脾气了,在网上找各种资料,发现真的没有什么这方面的资料,http://www.phpyrb.com/Admin-Article-edit.html

可能这个需求比较少吧,搞了好久,今天终于搞定了,下面说一下方法:

    1.下载php扩展rar包,网址为 http://pecl.php.net/package/rar;

    2.首先还是来说一下window版本的,这个容易,直接下载一个dll动态链接库包都放在php扩展包目录里面的,然后改一下配置文件重启就可以了.具体如下:

网址:http://pecl.php.net/package/rar/3.0.2/windows,已经在上面的网址中选择最新版本的rar扩展包,后面有个window DLL的图标点击进去下载,下载后把

里面的php_rar.dll这个文件放在你的php安装目录/php/ext/文件夹里面,然后再修改 php.ini ,在里面加上:

extension=php_rar.dll
然后重启你的服务器就可以,这个很简单,主要是linux服务器难搞,下面来说说liunx的安装方法:


    3.我用的是debian的系统,装的是 nginx 也就是lnmp包,

    4.第一步还是先下载并解压,命令如下:

wget http://pecl.php.net/get/rar-3.0.2.tgz
tar -xvf rar-3.0.2.tgz
cd rar-3.0.2
     5.然后是编译,首页你要安装一个编译插件:
#Debianhttp://www.phpyrb.com/Admin-Article-edit.html
apt-get install libc-client-dev
#CentOS
yum install libc-client-devel

    6.下面两步很关键,我就是这步没有搞好,所以一直不行,在官方文档里面,安装是直接运行 phpize,这是他包里面默认就有的,我照着他里面做就是不行,这个应该用你安装的php里面的phpize再编译,如果没有你修改

nginx安装路径,那么命令应该如下,反正就是用你安装好的php里面的phpize来编辑,不要用包里面自带这的.命令如下:

/usr/local/php/bin/phpize


可能这步会出现一些警告,如下的一样

Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
configure.in:3: warning: prefer named diversions
configure.in:3: warning: prefer named diversions
这个没有关系 ,不要影响后面的.


     7.这步是最关键的,就是告诉编译环境你的php路径,这步非常重要,我就是被这步给搞死的,命令如下,如果你没有修改默认路径的话:

./configure --with-php-config=/usr/local/php/bin/php-config
     8.最后一步就是添加配置,然后重启,修改php.ini配置:
vi /usr/local/php/etc/php.ini
然后在里面的添加:
extension=rar.so
然后保存,退出,重启nginx:
~/lnmp restart
如果没有报错,那就OK了.如果有问题,重新来一遍.嘿嘿^


PHP / 评 论 (0) / 热度 (217℃) / 2017-03-06 / 阅读全文  / MaWei

php短网址功能如何实现

标 签: php

php短网址

相信php短网址各位都会有用到吧,现在有个功能需求就是要做网址生成,我找了好多个办法,

开始的时候自己写了一个生成算法,后来没有用上,因为老大说要用百度的,去他的API是去看了,好是好,

不过他好的网址都会报错,最后没有,在网上找了一个开源的,不费话了,直接上代码:

/**
 * 短网址替换
 * @return string $_url
 * @author MaWei (http://www.phpyrb.com)
 * @date 2014-9-3 下午5:46:50
 */
function vwzShortUrl($_url){
	$requery=curl_init();
	curl_setopt($requery,CURLOPT_URL,"http://vwz.me/API.php?url=$_url");
	curl_setopt($requery, CURLOPT_RETURNTRANSFER, true);
	$retstr=curl_exec($requery);
	curl_close($requery);
	$retstr = json_decode($retstr);
	if($retstr->status != 'error'){
		$shorturl = $retstr->msg;
	}else{
		$shorturl = $_url;
	}
	return $shorturl;
}
这个用问题,可以直接留言,或者直接去官网看API;

PHP / 评 论 (0) / 热度 (120℃) / 2017-03-06 / 阅读全文  / MaWei

正则匹配网址

标 签: php

网址正则匹配

最近做社交网址,要用到正则匹配网址,到网上找了好多,都不太行,看了很多论坛,

最后在国外论坛看到一个网址正则匹配表达达,不多说了,直接上表达式:

if(preg_match_all('/((?:https?|ftp):\/\/(?:www\.)?(?:[a-zA-Z0-9][a-zA-Z0-9\-]*\.)?[a-zA-Z0-9][a-zA-Z0-9\-]*(?:\.[a-zA-Z0-9]+)+(?:\:[0-9]*)?(?:\/[^\x{2e80}-\x{9fff}\s<\'\"“”‘’,,。]*)?)/u',$_html,$matches)){
    return $mathches
}
至于匹配后要做的操作,各位看官自行处理,一般情况是会用到替换,不然找出来干什么了,可以用,str_replace()方法就可以了;

PHP / 评 论 (0) / 热度 (86℃) / 2017-03-06 / 阅读全文  / MaWei

php如何发送http请求并且返回结果

标 签: php

最近一个项目要用到php请求http://的需求,到网上找了好久,也没有找到什么好的例子,最后自己费了好大的精力,查手册,终于搞定了。哈哈……现在分享一下。

php请求http方法如下:

//初始化curl模块
$requery=curl_init();

//设置你要请求的url
curl_setopt($requery,CURLOPT_URL,"http://www.phpyrb.com");

//参数提交方式
curl_setopt($requery,CURLOPT_POST,true);

//提交的参数,以数组的方式。例:$data = array('name'=>'value');
curl_setopt($requery, CURLOPT_POSTFIELDS, $data);

//设置请求返回方式,添加此项为以字符串返回,如果没有此项则会直接输出到浏览器上,如果你想到用到结果,就设置此项
curl_setopt($requery, CURLOPT_RETURNTRANSFER, true);

//获取返回的数据,没有设置上面那项则会直接输出到浏览器上,当然你也取到了结果
$retstr=curl_exec($requery);

//关闭
curl_close($requery);

这个还是常用的。网上又基本找不到,所以然记录下来,方便自己也方便你。如果这些还不能满足你的话,那抱歉了,只能自行查手册脑补了。

PHP / 评 论 (0) / 热度 (123℃) / 2017-03-06 / 阅读全文  / MaWei

php从网络上下载图片并保存

标 签: php

php下载图片

1.还是一惯的风格,不多费话,直接上代码,(这还叫不费话啊):

	/**
	 * 创建文件夹
	 * @param  string $_path 文件夹路径
	 * @return array
	 * @author MaWei (http://www.phpyrb.com)
	 * @date 2014-8-3  下午2:10:22
         * @qq群号:341411327
	 */
	function download_img($_url,$_path = null,$_name = null){
		ob_start();
		readfile($_url);
		$img = ob_get_contents();
		ob_end_clean();
		if(! $_name){
			$exname = exname($_url);
			$_name = date('YmdHms').rand(10).'.'.$exname;
		}
		if(! $_path){
			$_path = UPLOAD_PATH.'/avatar'.'/';
		}
		createDir($_path);
		$path = $_path.$_name;
		file_put_contents($path, $img);
		if(is_file($path)){
                        chmod($path, 0444);//这步不能少,放病毒攻击
			return $path;
		}
                return null;
	}
下面是文件创建函数:
	/**
	 * 创建文件夹
	 * @param  string $_path 文件夹路径
	 * @return array
	 * @author MaWei (http://www.phpyrb.com)
	 * @date 2014-8-3  下午2:10:22
	 */
	function createDir($_path){
		if (!file_exists($_path)){
			createDir(dirname($_path));
			mkdir($_path, 0777);
		}
	}

下面是获取文件扩展名函数:

	/**
	 * 返回文件的后缀名
	 * @param string $_file
	 * @return string $exname
	 * @author MaWei ( http://www.phpyrb.com )
	 * @date 2014-4-17 下午1:50:15
	 */
	function exname($_file){
		$file = basename($_file);
		$exname = substr(strrchr($file,'.'), 1);
		return  strtolower($exname);
	}

PHP / 评 论 (0) / 热度 (83℃) / 2017-03-06 / 阅读全文  / MaWei

12