/

PHP Code Snippet

交互式运行模式

php -a

交互式 shell 还具有函数、常量、类名、变量、静态方法调用和类常量的 tab 补全功能。

参数查看

查看 PHP 编译时的参数

php -r "phpinfo();" | grep configure

查看 .ini 配置文件路径

php --ini
php -r "phpinfo();" | grep "Configuration File"

查看 Modules

php -m

Show configuration for extension

显示扩展配置。--ri Show configuration for extension .

php --ri gd

修改内存限制

修改 php.ini 中的 memory_limit 如果没有,可以在文件的尾部增加这个参数。

memory_limit = 1024M;

动态实例化类

class Test1{
public function __construct(){
echo "Test1
"
;

}
}

// 方法一
$class1 = "Test1";
new $class1();

// 方法二
$class2 = "Test2";
// 建立类的反射
$class2 = new ReflectionClass($class2);
// 相当于实例化类
$instance = $class2->newInstance();

composer 常用

aliyun repo

阿里云 Composer 全量镜像

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
"config": {
"disable-tls": true,
"secure-http": false,
"gitlab-domains": [],
"platform-check": "php-only",
"optimize-autoloader": true,
"sort-packages": true,
"preferred-install": {
"*": "dist"
}
},
"repositories": [
{
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
},
{
"type": "cvs",
"url": "..."
},
{
"type": "composer",
"url": "https://asset-packagist.org"
}
]

忽略 php 版本限制

这个是极不推荐的,这样会造成库安装的版本错误。不应该使用。

composer require hellogerard/jobby --ignore-platform-reqs

推荐:

which composer
# /usr/local/bin/composer

{正确的 PHP 版本}/bin/php /usr/local/bin/composer require hellogerard/jobby

/usr/local/opt/php@7.1/bin/php -d memory_limit=-1 /usr/local/bin/composer update -vvv

emory-limit-errors for more info on how to handle out of memory errors

php -d memory_limit=-1 /usr/local/bin/composer update

更新 composer.lock

若项目之前已通过其他源安装,则需要更新 composer.lock 文件:

composer update --lock

PHP.net

References

– EOF –