phpphar
A. php extension 哪些
php extension就是php的扩展,这个扩展是有很多的,如:
HTTP extension for PHP旨在为PHP应用提供一个方便而强大的功能扩展 。它简化了处理的HTTP网址,日期,重定向,HTTP 头信息,消息,客户的首选语言和字符集,以及提供便捷的数据高速缓存和恢复的方法。它提供了强大的功能,如果和 CURL 一起编译的话将提供更强大的请求处理功能。PHP5或者更新版本提供并行请求处理;
extension_loaded—检查一个扩展是否已经加载,说明extension_loaded()使用内置扩展名称来测试一个扩展是否有效。 大多数内置扩展名称是小写的,但也有扩展使用大写字符。 在 PHP 5 之前,此函数以大小写敏感的方式对比名称;
这里我给你看下小部分的截图,如果你有兴趣可以自行去下载一个php的安装包来看:
B. php的phar文件怎么打开
一般有下面两种方式:
include
'myphar.phar';
这样把phar中所有的文件都引入了。
include
'phar://myphar.phar/test/time.php';
这个只把test目录下的time.php文件引入了。
引入后可以直接使用原php文件中变量。
还可以直接读取:
echo
file_get_contents('phar://my.phar/file.txt');
这个会输出
hi。
C. php常用扩展有哪些
这个是php扩展库支持。
在php.ini里面可以看到952行。
extension=php_rar.dll
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_ming.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_oci8_11g.dll
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
extension= php_memcache.dll
每一行前面分号去掉的表示开启扩展库的。
有些扩展库是安装的时候默认开启的,有些需要手动开启。
还有一些扩展库需要自己去下载库文件(要对应相应的版本)
下载的库文件放在php安装根目录下面的ext目录下面。当然这个目录也是可以自己配置的。
D. PHP中的phar包怎么使用
使用phar压缩包
<?phpinclude 'swoole.phar';include 'swoole.phar/code/page.php';
使用phar可以很方便的打包你的代码,集成部署到线上机器。
E. php namespace下如何使用include '*.phar'包下的类
namespace a
include 'c.phar'
class b{
public function test{
$r=new c\d\foo();//
F. 编译php5.34时出现make: *** [ext/phar/phar.php] 错误 127 怎么解决
确认libmcrypt包装了。重新编译一次。我的就是这个问题。希望能帮到你。
G. php composer怎么用
Composer很好的解决了PHP的包管理和依赖问题,只需要import一个文件,Composer中管理的所有库就会按需加载,而不需要每个import。
先介绍一下Composer的安装。Composer的官方地址: https://getcomposer.org/
安装
curl -sS https://getcomposer.org/installer | php
这样在当前目录下会下载一个composer.phar的文件,为了方便,我们可以重命名一下,并放到/usr/local/bin下,方便执行。
mv composer.phar /usr/local/bin/composer
使用
一般我习惯把Composer放在/opt下,所以先创建一个Composer的目录
mkdir /opt/composer
先下载一个KLogger,一个写日志的库,本人比较喜欢。
cd /opt/composer
composer require katzgrau/klogger:dev-master
这样,KLogger就被下载下来了,使用很简单,只需要引入一个文件。
<?php
require '/opt/composer/vendor/autoload.php';
$logger = new Katzgrau\KLogger\Logger(__DIR__.'/logs');
...
KLogger可以使用了,我们在下载一个别的库,Medoo:一个轻量级的数据库框架。同样的方式来下载。
cd /opt/composer
composer require catfan/Medoo
使用同理
<?php
require '/opt/composer/vendor/autoload.php';
$medoo = new medoo();
//继续使用KLogger
$logger = new Katzgrau\KLogger\Logger(__DIR__.'/logs');
...
使用很简单,只要引入了 vendor/autoload.php ,就可以自动引入用到库,的确很酷。
加速
如果发现composer执行起来很慢,可以考虑换个镜像。这里推荐一个日本的镜像: http://composer-proxy.jp/ 。
执行
composer config -g -e
编辑后
{
"config": {}
,
"repositories": [
{ "packagist": false },
{
"type": "composer",
"url": "http://composer-proxy.jp/proxy/packagist"
}
]
}
如果发现composer长时间没反应,可以在执行时候加入 -vvv 选项,可以输出更多信息,方便查找问题。
composer -vvv require ...
最后
PHP的 spl_autoload_register 可以很方便做按需引入,当 new 一个类没发现的时候,就会触发,然后我们自己按照规则来处理引入。
一个简单的例子
<?php
class ClassAutoloader
{
public function __construct()
{
spl_autoload_register(array($this, 'loader'));
}
public function loader($className)
{
$file = dirname(__FILE__) . '/' . $className . '.php';
if (is_file($file)) {
require $file;
}
}
}
$autoloader = new ClassAutoloader();
H. php 打包文件phar能否在不解包的请况下 在指定目录增加一个test.php文件
一般有下面两种方式来:
include 'myphar.phar';
这样把phar中所有的文件都引入了源。
include 'phar://myphar.phar/test/time.php';
这个只把test目录下的time.php文件引入了。
引入后可以直接使知用原php文件中变量道。
还可以直接读取:
echo file_get_contents('phar://my.phar/file.txt');
这个会输出 hi。
I. php 的 phar 如何解压并归档为zip
用把ZIP流转换成byte类型,之后用PHP的ZIP解压方法读取。或者让服务器端别用ZIP压缩数据,就直接传递数据,也没多少时间
J. .php文件如何文件转换为.phar文件
有个phar的类,看手册