【在PHP扩展中使用PHP函数】教程文章相关的互联网学习教程文章

使用bash定位PHP扩展文件夹【代码】

我正在尝试构建一个bash脚本来安装Source Guardian PHP扩展,但目标目录在Ubuntu的每个后续版本上都是不同的. 在Ubuntu 14.04上安装PHP5导致扩展存储在/usr/lib / php5 / 20121212 lfs /中,在Ubuntu 15.04中,该目录发生变化,例如: /usr/lib中/ 20131226 / 我已经检查了/etc/php5/fpm/php.ini和/etc/php5/fpm/php-fpm.conf,但这两个文件都没有提到20121212 lfs或20131226. 如果我将Source Guardian扩展放在其他位置,则不会加载. 有没...

debian – 如何知道安装了哪些php扩展【代码】

我需要在灯服务器上安装与旧服务器上安装的完全相同的php扩展,如何确切地知道安装了哪些扩展以便在新服务器上安装相同的扩展?解决方法:您可以使用命令行开关-m到php来查看安装了哪些模块.$php -m | head [PHP Modules] bz2 calendar ctype curl date dbase dom exif fileinfo ...你也可以用php -i来获取phpinfo();通过命令行输出,其中也包含此信息. 参考 > extension_loaded – PHP documentation

PHP扩展 – 从另一个PHP函数调用您自己的PHP函数【代码】

假设我们有一个自定义PHP扩展,如:PHP_RSHUTDOWN_FUNCTION(myextension) {// How do I call myfunction() from here?return SUCCESS; } PHP_FUNCTION(myfunction) {// Do something here...RETURN_NULL; }如何从RSHUTDOWN处理程序调用myfunction()?解决方法:使用提供的宏,调用将是:PHP_RSHUTDOWN_FUNCTION(myextension) {ZEND_FN(myFunction)(0, NULL, NULL, NULL, 0 TSRMLS_CC);return SUCCESS; }当您将函数定义为PHP_FUNCTION(...

安装Laravel时出错:需要Mcrypt PHP扩展【代码】

我知道在SO上有很多关于这个的问题,但没有一个能解决我的问题.我已经检查了他们提到的一切似乎表明mcrypt没问题,除非安装Laravel.显然我错过了一些东西. 当按照指示安装Laravel时(作曲家创建项目laravel / laravel myproj –prefer-dist)我在安装结束时看到错误“需要Mcrypt PHP扩展”. 据我所知,mcrypt已安装并启用. Composer使用/usr/bin/env php$which composer ? /usr/local/bin/composer$cat /usr/local/bin/composer #!...

docker添加php扩展【图】

1、 进入php容器 docker exec -it php7.1 /bin/bashcd /usr/local/bin/ 2、 安装需要的扩展 ./docker-php-ext-install mysqli 注意:添加gd库比较麻烦 apt update #更新软件源apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #安装各种库./docker-php-source extract #解压源码./docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include...

SlimPHP – 扩展树枝(功能)的奇怪错误【代码】

我在PHP Slim(最新版本)中有一些简单的应用程序,它是一个简单的网站,从数据库中获取数据并将其显示在树枝模板上.没有什么花哨.只要我不尝试为树枝添加自定义功能,一切都很完美. 当我添加自定义功能到树枝,在一些服务器上(在localhost laragoon工作正常,在具有相同的PHP版本的生产服务器上,我没有收到此错误: 致命错误:无法在第4行的… twig.php中实例化抽象类Twig_Function 下面是我的twig.php – 错误连接到新的Twig_Function,...

使用Visual Studio 2008编译php扩展,MODULE ID与php不匹配【代码】

使用VC9(2008)和VC10(2010)使用后续步骤编译我自己的php扩展后: http://blog.slickedit.com/2007/09/creating-a-php-5-extension-with-visual-c-2005/ 初始化php时我得到下一个错误:PHP Warning: PHP Startup: FirstPHPExt Module: Unable to initialize module Module compiled with build ID=API20090626,TS PHP compiled with build ID=API20090626,TS,VC9 These options need to matchin Unknown on line 0为什么不说我用...

php – 扩展类是否有__construct()等价物【代码】

我有一个父类:Abstract Class Base {function __construct($registry) {// stuff} }然后,我至少有2个类扩展该类class Cms extends Base {// a few functions here }还有这个class Index extends Base {// a few functions here }对于CMS类,用户需要登录.会话已经启动,我想通过使用会话var来检查用户是否已登录.所以我想做的是:class Cms extends Base {function __construct(){// check the user session is valid}// a few func...

mac brew 安装php扩展报错:parent directory is world writable but not sticky

$ brew install php70-mcrypt 报错: Error: parent directory is world writable but not sticky 搜索到github的答案 https://github.com/Homebrew/legacy-homebrew/issues/40345 原因:/tmp目录权限不对 $ ls -ld /private/tmp 打印出来 /private/tmp 被标黄了 解决办法: $ sudo chmod +t /tmp $ ls -ld /private/tmp 打印出来 /private/tmp 被标绿了,应该表示是正常的意思了 再次执行 $ brew install php70-mcrypt 安装成功...

ext-imagick * – >系统中缺少所请求的PHP扩展imagick【代码】

我在为laravel安装devisephp时遇到了麻烦.我正在使用php7开发最新版本的宅基地.当我做作曲家更新时,我得到以下错误.Problem 1- Installation request for devisephp/cms 1.4.* -> satisfiable by devisephp/cms[1.4.0].- devisephp/cms 1.4.0 requires ext-imagick * -> the requested PHP extension imagick is missing from your system.有了这个消息之后,我在家园环境中安装了imagick,在cli和fpm中添加了php.ini的扩展名,并且如...

无法在Maverick OS X上编译php扩展【代码】

在更新OS X之后,我发现很多我以前构建的扩展已经消失;( 现在我正在尝试编译memcached.so,结果我有很多错误;( 我安装了XCode命令行工具并运行如下编译:sudo pecl install memcached结果:downloading memcached-2.1.0.tgz ... Starting to download memcached-2.1.0.tgz (39,095 bytes) .. ........done: 39,095 bytes 11 source files, building running: phpize Configuring for: PHP Api Version: 20100412 Zend Module...

如何在php扩展中访问当前的php文件(用c编写)?【代码】

我正在尝试使用swig为php编写扩展.我需要知道扩展代码中当前php文件的绝对路径.我在我的C代码中使用__ FILE __但它返回当前的c文件名.解决方法:最后我找到了解决方案.要在你的php扩展中访问__ FILE __,你可以像这样使用:char *file_name = zend_get_executed_filename();

如何在没有brew的情况下在我的Mac OSX上安装PHP扩展“pcntl”

所以,我正在尝试在我的MacBook Pro(High Sierra 10.13.4)上安装pcntl扩展. 我尝试按照我可以在网上找到的指南,但它们都已过时,因为Homebrew决定将所有php包移到它们的核心,并在此过程中删除其中一些.(https://github.com/Homebrew/homebrew-php,WTF Homebrew?!)pcntl php扩展是其中一个包. 这是在3月底完成的,所以最近.从那时起,没有人问过这个问题. 有没有其他方法在Mac上安装pcntl扩展?解决方法:他们没有放弃他们决定在默认情...

什么PHP扩展将临时文件写入/ tmp文件夹?【代码】

我的网络服务器有问题. 我注意到在/ tmp目录中经常创建大文件.文件类似于/ tmp / phpUNIQUECODE但这些都不是上传的.因为在我的php.ini设置中配置是upload_tmp_dir = /backup/tmp upload_max_filesize = 300M post_max_size = 300M我发现/ tmp中的文件是在下载文件时由PHP进程编写的(PHP进程从TCP套接字读取文件并写入输出). 我读了一些PHP手册,我看到tehre是PHP函数tmpfile().它在/ tmp文件夹中创建临时文件(即使upload_tmp_dir不...

PHP扩展库访问PHP超全局【代码】

我在C中编写了一个PHP扩展库.我正在编写上面的PHP 5.x广告的扩展名. 我需要在我的C代码中访问PHP超级全局.有谁知道如何做到这一点?.非常感谢代码片段或指针(没有双关语)到类似的资源(没有双关语…).解决方法:你真正需要什么数据? – 大多数数据的最佳方式是参考它们来自的C结构.例如,对于请求数据,您可以检查sapi_globals,可以使用SG()宏访问,会话数据可通过会话模块获得,… 如果您确实需要访问超级全局,可以在EG(symbol_table)哈...