问题标签 [php-7.4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 从 PHP 5.6 升级到 7.4
新手来了 我正在从 PHP 5.6 升级到 7.6
在我的登录页面上,无法登录,出现以下错误:
已弃用:函数 get_magic_quotes_gpc() 在第 49 行的 /home/domain/library/config.php 中已弃用
这是 config.php 文件的代码:
当我删除已弃用的 get_magic_quotes_gpc() 并转到登录页面时,它只是空白。
php - php7.4、php7.4-fpm、http2、Apache、nginx
- 我可以在 Apache 中使用 php7.4-fpm 吗?或者 php-fpm 真的只用于 nginx 吗?为什么?
- php7.4是否支持http2?还是你还需要php-fpm?官方 http2 网站 (http2.pro) 已经有几年没有更新了。
- 还值得激活 HTTP2 吗?(最新的更新可以追溯到几年前。)
- 要激活 http2,我遵循了此处描述的所有程序:https ://http2.pro/doc/Apache ,现在如果我必须重新激活 php(正常),我该如何返回?
(这个问题最初的解释性要强得多,但管理员不喜欢它......他们要求它更加集中,所以让我们只尝试这些问题。)
php - 非数组的数组式访问(真、假、空等)
所以,这就是我的数组的结构:
当我尝试检查是否有任何错误时,我现在会这样做:
这在 PHP 7.4 中给了我一个通知:
我了解发生了什么(向后兼容性更改)。是否有另一种干净的方法来检查null
数组?我看到的唯一工作方法是:
但这使我的 if 语句加倍。没有更干净的方法吗?
apache2.4 - 无法加载模块“ext\\php_curl.dll”,因为它与 9.0 链接
我想用 PHP 7.4.2 安装 Apache24,但我无法使用 curl 模块。在 php.ini 中,我设置扩展名 dir ( extension_dir = "ext"
) 并启用 curl ( extension=curl
)。但是当我启动 Apache 时,我在日志文件中得到了这个错误:
我试图加载 ssl 文件,但它没有帮助。
知道问题出在哪里吗?
编辑。我的 php.ini 没有大部分评论
windows - PHP 警告:PHP 启动:加载失败,系统找不到指定的文件。PHP 7.4 视窗
在将此标记为重复之前,请听我说完:)
我有几年在 Windows 上使用 PHP 的经验,甚至创建了 AMP 堆栈的便携式(用于 Windows)分发:https ://thejaka.com/tzwamp/我将其命名为“WAMP Zero”或 TZWAMP。我已经广泛使用了这个 WAMP 发行版,我认识的人也在使用它。最后一个(以前的)发行版运行良好,但是当我尝试将发行版更新到来自供应商/分销商站点的应用程序/组件的最新版本时,我遇到了障碍。新发行版不再加载 PHP 扩展。似乎一个或多个依赖项无法定位,但我不知道是什么或从哪里来的。我尝试在依赖项查看器中查看 php_mbstring.dll,但无法弄清楚这是怎么回事。缺少一些依赖项,但大多数似乎来自 CRT,我安装了最新的。我猜缺少的依赖项可以从 PATH 环境变量中解决。以下内容未加载:
php_mbstring.dll php_mysqli.dll php_openssl.dll php_pdo_mysql.dll php_mbstring.dll php_mysqli.dll php_openssl.dll php_pdo_mysql.dll
错误信息如下: PHP Warning: PHP Startup: Failed to load ......\php\ext\php_mbstring.dll,系统找不到指定的文件。
在开始抱怨相对路径之前,请注意在 7.3 上它运行良好。
ext dir的路径是相对指定的,但路径似乎是正确的。相同的路径在 TZWAMP 的先前发行版中运行良好,当我更改路径时,错误消息也会更改,导致我相信路径是正确的。另请注意,我也尝试将 php 路径添加到 PATH 环境变量。
成功运行的 PHP 版本是 7.3.10。有问题的 PHP 版本是 7.4.2。Apache 版本是 2.4.41
是否有人知道从 7.3.* 到 7.4.* 的任何相关更改,或者任何人都可以帮助我调试问题并解决它?
编辑:我已经检查过,绝对路径似乎有效。但是,为了使其可移植,需要相对路径。相对路径适用于 7.3,我相信以前的主要版本。有任何想法吗?
php - 通过 Composer 安装软件包后如何启动脚本?
我使用该命令composer require otra/otra:dev-develop --no-update --no-cache && composer update --no-autoloader
来安装我自己的框架。
我从我的框架中把这部分放在了composer.json
我的框架中:
但是 Composer 不运行它。这是正常的吗,Composer 是否认为这是一个依赖项而不是根包,所以它不允许我的脚本运行?
如果是这种情况,我怎么能有同样的行为?
我想要 :
- 将我的二进制文件放在
bin
文件夹中,vendor/bin
不必要求用户手动执行符号链接(或其他解决方案) - 将一个文件夹从我的框架复制
web
到项目的根目录。
编辑:使用create-project
命令
如果我输入composer create-project otra/otra:dev-develop crashtest --remove-vcs
,我得到这个composer.json
:
这与我的框架完全相同,因此我无法通过 Composer 对其进行更新。如果我不使用,我可以使用 git,--remove-vcs
但这不是目标。
命令的输出composer
是:
安装 otra/otra (dev-develop ab37237565155dab11812a7b2982d30ee240f051)
- 安装 otra/otra (dev-develop ab37237):从缓存中克隆 ab37237565
在 crashtest 中创建项目
使用包信息加载作曲家存储库
从锁定文件安装依赖项(包括 require-dev)
composer-php - 程序“composer.bat”无法运行
我已经安装了作曲家并设置了环境变量。但是当使用“Composer install”命令时。我得到以下错误。
我还查看了扩展,并且所有相关的(openssl)扩展都已启用。
程序 'composer.bat' 运行失败:系统找不到指定的文件在 line:1 char:1 + composer + ~~~~~~~~。在 line:1 char:1 + composer + ~~~~~~~~ + CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException + FullyQualifiedErrorId : NativeCommandFailed
请帮我解决这个问题
提前致谢。
macos-catalina - 在 mac catalina 上启用 opcache,php 7.4 与 homebrew 一起安装
我已经修改了 php.ini 文件以启用操作码缓存并重新启动 apache,但使用 phpinfo() 却看不到它。php -v 说:
我从这个命令中看到的大多数其他示例都说类似于“使用 Zend Opcache”。
/usr/local/etc/php/7.4/php.ini
根据 php,除了 at 之外没有其他 .ini 文件被使用。
我尝试使用 pecl 安装 zend opcache,但它表示它适用于 5.2.0 至 5.5.0 版本。
通过谷歌搜索了 30 分钟。但无处可去。
php - PHP 7.4 递归箭头函数
我正在尝试使用 PHP 7.4 中的新箭头函数,并且正在尝试创建一个递归箭头函数。有人知道这是否可能吗?
这是我的代码:
我在这里得到一个未定义的变量。我假设内部$factorial
变量还不存在?
错误信息Notice: Undefined variable: factorial in test.php on line 10
php - PHP 内部开发问题,想用引用功能扩展 curly 语法
我知道这与 SO 有点离题,因为我没有代码而且我的问题很抽象。
我想在 PHP 语言中添加一个功能:
现有功能:
需要 SQL 变量的新功能:
或者:
这个想法是扩展字符串 curly 语法以支持函数或一些硬编码函数来引用变量。
我的问题是:
有没有办法编写一个提供这种功能的 php 模块/扩展?
如果是这样,我必须从哪里快速开始?
解决方案
我想这是我想要的最接近的,而不必破解 php 本身