php 手册笔记

2025-04-24 22:47:00
丁国栋
原创 155
摘要:php手册笔记


  1. 获取预定义的常量:print_r(get_defined_constants(true)['Core']);
  2. 获取PHP API版本,例如获取20210902、20151012、20180731等:echo PHP_EXTENSION_DIR; 或者 echo basename(ini_get('extension_dir')); 或者执行命令 php-config --phpapi 。在PHP中,/usr/lib/php/20151012/ 路径中的 20151012 部分通常表示 PHP扩展模块的安装目录的子目录名称,这个名称对应的是 PHP API 版本号,相同PHP_MAJOR_VERSION.PHP_MINOR_VERSION的PHP版本的API版本号相同。
    php8.3 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20230831
    php8.2 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20220829
    php8.1 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20210902
    php7.4 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20190902
    php7.3 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20180731
    php7.2 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20170718
    php7.0 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20151012
    php5.6 -r 'echo PHP_EXTENSION_DIR . PHP_EOL;' # /usr/lib/php/20131226
    
  3. 如何判断当前终端是交互式还是非交互式?这个可以用在计划任务和非计划任务执行时做条件判断,如果是交互式的说明是用户执行的,如果是非交互式的说明是计划任务执行的。实现:php -r 'var_dump(posix_isatty(STDOUT));',注意这个方法当用户在搭配nohup执行时会返回false。因此可以结合 php -r 'echo basename(file_get_contents("/proc/" . posix_getppid() . "/cmdline"));' 和 环境变量($LOGNAME,$USER,$HOME)来判定。
  4. 其他

--


发表评论
博客分类