问题标签 [php-7.3]
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.
heroku - 部署在 Heroku 中的 Laravel 应用程序中的 FTP 文件上传错误 - 使用未定义的常量 FTP_BINARY
Heroku 的 php 版本是 7.3。当我尝试将任何文件从我的应用程序(部署在 heroku 中)上传到 ftp 时,它会在 FilesystemManager.php 中出现此错误 - Use of undefined constant FTP_BINARY - 假定为 'FTP_BINARY' (这将在 PHP 的未来版本中引发错误)。但是在php版本为7的localhost中,它工作正常。需要做什么来解决这个错误?我在这里看到了一个类似的问题,PHP 7.0.5: Use of undefined constant FTP_BINARY - 假定为 'FTP_BINARY'
但答案适用于 Windows 操作系统,我有点迷失如何在 heroku 云中实现解决方案,即根据接受的答案在 php 版本中打开 ftp。
sqlsrv - 无法加载动态库 php_sqlsrv_73_nts_x86.dll 不是有效的 Win32 应用程序
所以我安装php_sqlsrv_73_nts_x86.dll
并php_pdo_sqlsrv_73_nts_x86.dll
进入我的 ext 文件夹,并将以下行添加到我的 php.ini:
我在运行的每个 php 脚本上都会收到此警告:
我究竟做错了什么?
一些附加信息;
我已经提到了这个Unable to load dynamic library php_sqlsrv_7_nts.dll is not a valid Win32 application但它对我没有帮助
编辑 1,我也尝试在我的扩展中删除 _x86 标记,但这对我没有帮助。
php - 与 PHP 正则表达式匹配行尾的差异
给定代码:
在 PHP 7.3.2 (XAMPP) 中,我得到了意外的输出
而在PHPFiddle中,在 PHP 7.0.33 上,我得到了我的预期:
谁能告诉我为什么会出现这种差异,7.0.33 之后 REGEX 行为是否发生了变化?
php - PHP 7.3、Zend 3 框架 - SQLite PDO 连接错误
我刚开始为我的新工作涉足 PHP 和 Zend 3 框架。我想在框架中训练自己,因为这是他们使用的。
我已按照此处的教程进行操作,您将在其中为框架创建模块。在他们的示例中,他们将 SQLite 用于设置任务的简单数据库操作。我的问题就在这里。我已经实现了示例代码,直到我应该首先看到所有专辑都插入到数据库中。那是我收到错误的时候:
文件:
.../vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Connection.php:282
信息:
Connect Error: could not find driver
公平 - 然后我用谷歌搜索并发现在我的php.ini
文件中我必须取消注释该extension=pdo_sqlite
行。我已经做到了。我还安装了 packagephp7.3-sqlite
包和我能找到的所有东西,这是运行它所必需的。
我没有为此使用 apache 或 nginx,我只是在这个简单的教程中使用 PHP 自己的内置网络服务器。
当我运行我的命令时:php -S me.localhost:1337 -t public public/index.php
从我的工作区目录中,我得到:
和:
我检查了我的文件系统和文件路径:/usr/lib/php/20180731/pdo_sqlite.so
确实存在。
如您所见,ls -la
输出表明文件存在。我真的不知道从这里做什么。我尝试了很多东西,甚至清除了我的 php 安装并只安装了 php 7.3。希望你能帮忙。
php - 使用 MacPorts PHP-FPM 而不是从构建
我使用 MacPorts 安装apache2
,php73
和php73-fpm
MacOS Mojave。我已经更新,.bash_profile
以反映新的 MacPorts 路径,如下所示:
我.bash_profile
通过运行刷新了我的:
运行which php
和which httpd
终端都输出正确的路径:
php -v
和runninghttpd -v
都表明 MacPorts Apache 和 PHP 正在运行。
但是,我无法切换到php73-fpm
我安装的 MacPorts。which php-fpm
仍然返回默认的操作系统构建路径:
如何让 MacPortsphp73-fpm
运行而不是构建php-fpm
?
php - TCPDF each() 在 PHP 7.3 下是不推荐使用的函数
使用 TDPDF 您可能会遇到错误,错误提示
each() 函数已弃用,fpdi.php 第 562 行出错
php - empty() 和 isset() 为对象的属性返回不正确的结果 - PHP 7.3、Laravel 5.6
环境: PHP 7.3,Laravel 5.6
问题: empty()
当代码在浏览器中isset()
运行时返回错误的结果,但在 Tinker 命令行会话中运行时返回正确的结果。
预期行为:
isset()
true
当属性存在时返回,false
当它不存在时empty()
true
当属性存在和不存在时返回null
,false
否则
例子:empty()
这!empty
总是评估为false
,即使$practiceArea->hero_video
已设置并且我可以通过echo
or看到它的值var_dump
。
并且empty($practiceArea->hero_video
) 总是评估为true
,正如我在尝试替代方案失败后了解到的那样:
例子:isset()
isset($practiceArea->hero_video)
总是错误地返回false
。
当前的 Hacky 解决方法:
这完全符合预期 -$video
获取 的值,然后如果我们有一个值并且该值是$practiceArea->hero_video
,则!empty($video)
返回。true
false
null
Tinker 会话中的预期结果示例:
isset()
在 Tinker 中也可以按预期工作:
复制:
我假设我们的PracticeArea
类正在使用魔法 getter,因为它扩展了 Laravel 5.6 的Model类,它确实包含__get
和__isset
方法。
下面是删节PracticeArea
课。很高兴发布整个内容,但没有与此相关的方法或属性。
var_dump($practiceAreas)
homebrew - 安装具有自制软件和 php 7.3 的 ssh2 扩展
尝试ssh2
使用 pecl 安装扩展时遇到以下错误:
这是我所做的:
那安装了 php 7.3.3、libssh2 1.8.0 并且无法安装 ssh2-1.1.2。
有没有人有解决这个问题的方法?谢谢!
相关链接:
https ://github.com/docker-library/php/issues/767
为 PHP 安装 PECL SSH2 扩展
phpstorm - 更新 Ubuntu 后,在 PhpStorm Xdebug 中启用监听器时请求开始挂起
所有设置都正常。我浏览了https://xdebug.org/wizard.php。phpize 匹配。我决定重新安装它。我使用 PHP 7.3 的 phpize 与向导不谋而合。在phpinfo()
Xdebug 中显示。php -v
也在。更重要的是,在 PhpStorm 中它会捕获连接。
问题是,当我向服务器发送请求时,在侦听器打开的情况下,我的请求没有到达断点,请求只是挂起,没有任何反应。
可能是什么问题呢?有人知道吗?
一般来说,我不知道可能是什么问题。我真的需要你的帮助,帮助谁知道可能是什么麻烦。
- 我浏览了来自https://xdebug.org/wizard.php的所有提示
- 在 phpinfo() 输出中一切正常。
- PhpStorm 设置中的一切似乎也都很好。我没有改变他们,我总是和现在站着的人一起工作。
nginx - Laravel & Valet:无法打开流
我正在尝试在 Valet 上设置一个 Laravel 项目。
我收到此错误:
尝试链接项目根目录或/public
文件夹会导致上述错误,而不是 Laravel 的默认欢迎屏幕。
我该如何解决这个问题?