草庐IT

openssl-cli

全部标签

php - OpenSSL 真的需要 openssl.conf 的路径吗?

我想在PHP5.x中创建一个自签名证书。使用我自己的(替代)openssl配置,它应该由我的PHP代码定义。PHP脚本将在不同的环境(共享托管网络服务器)上运行。官方PHPManual说:Bydefault,theinformationinyoursystemopenssl.confisusedtoinitializetherequest;youcanspecifyaconfigurationfilesectionbysettingtheconfig_section_sectionkeyofconfigargs.Youcanalsospecifyanalternativeopenssl

php - 如何更新 PHP CLI OSX?

我刚刚使用http://php-osx.liip.ch/更新到php5.4|在osx狮子上。当我输入时:php-v我仍然看到:PHP5.3.15withSuhosin-Patch(cli)(built:Jul31201214:49:18)Copyright(c)1997-2012ThePHPGroupZendEnginev2.3.0,Copyright(c)1998-2012ZendTechnologies但是phpinfo()显示5.4。我该如何更新? 最佳答案 只需导出已安装的PHP路径,在终端上输入此路径exportPATH=

php - 将 rand() 替换为 openssl_random_pseudo_bytes()

我需要替换PHP的rand()函数,该函数使用加密强度高的随机数生成器。openssl_random_pseudo_bytes()函数可让您访问强随机数生成器,但它会将其数据输出为字节字符串。相反,我需要一个介于0和X之间的整数。我认为关键是将openssl_random_pseudo_bytes()的输出转换为整数,然后您可以根据需要对其进行任何数学运算。我可以想到一些从字节字符串转换为整数的“强力”方法,但我希望得到一些……优雅的东西。 最佳答案 根据提供的建议,我使用OpenSSL创建了rand()的替代品。我会把它包括在这里

php - 在 PHP CLI 脚本中检测环境

我在StackOverflow上看到了几个问题,这些问题处理如何在通过Apache提供脚本时检测用户环境,并且拥有这样一个可以完美运行的系统。该脚本取决于Apache设置的环境变量。现在我正在创建几个需要在phpCLI模式下运行的工具,但我不知道如何在CLI模式下检测环境,因为那里没有apache环境变量。我正在考虑使用gethostname()读取服务器的主机名,但不知道这是否是最佳解决方案和可靠的解决方案。当使用PHP在CLI模式下运行时,什么被认为是检测环境的最佳方法澄清:我不是在寻找一种方法来检测我是否正在从CLI运行脚本,该基础已被覆盖。我正在寻找一种方法来通过CLI方式确定

php - 如何从 CLI 标准输入中读取非 ASCII 字符

如果我在CMD中键入å,fgets将停止等待更多输入并且循环运行直到我按下ctrl-c。如果我输入像a-z0-9!?()这样的“普通”字符,它会按预期工作。我在Windows7下使用UTF-8作为字符集(chcp65001)在CMD中运行代码,文件被保存为没有bom的UTF-8。我使用PHP5.3.5(cli)。'.fgets(STDIN);}?>如果我将字符集更改为chcp1252,当我键入å时循环不会中断,它会打印“>å”,但“ÅÄÖåäöworkhere”变为“ÅÄÖåäö在这里工作!"。而且我知道我可以将文件更改为ANSI,但是我不能使用像╠╦╗这样的特殊字符。那么

php - Laravel Artisan CLI 安全地停止守护进程队列 worker

为了处理大量作业,我根据要完成的工作量运行数量可变的队列工作程序。我不想运行比在我们认为合适的时间段内完成需要完成的工作所需的更多的工作器。目前,出于测试目的,我启动了5个守护进程队列工作人员,但在生产中,这个数字可能在25到100个工作人员之间,甚至可能更多。我知道在部署时,我必须首先使用phpartisandown将框架置于维护模式来停止队列工作人员,因为--daemon标志会导致框架仅在worker启动时加载,因此新代码在部署期间不会生效,直到worker重新启动。如果我出于某种原因需要停止工作人员,我可以使用phpartisandown将应用程序置于维护模式,这将导致工作人员在

php - 在 PHP-CLI 中通过 Ctrl+C 退出时的析构函数和关闭函数

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion如果我使用Ctrl+C退出在CLI中运行的PHP脚本,则既不会处理关闭函数,也不会处理实例化对象的析构函数,也不会处理任何输出缓冲区.相反,程序就死了。现在,这可能是一件好事,因为这就是Ctrl+C应该做的。但是有什么办法可以改变吗?是否可以强制Ctrl+C执行关机功能?更具体地说,这是关于在脚本退出时序列化和保存数据,以便在脚本下次运行时重新加载和恢复。定期保存数据可以工作,但仍然会丢失从上次保存开始

php - 将 curl 安装到 PHP cli

我正在尝试设置一个需要curl的cronjob,并且我正在使用直接从crontab调用它*****/usr/bin/phpmyurl/my_cron.php问题是,我的phpcli似乎没有安装curl模块。当我从浏览器点击url时它工作得很好,但是当我运行时php-qmyfile.php从命令行返回PHPFatalerror:Calltoundefinedfunctioncurl_init()inmy_cron.phponline20当我运行php-m时,curl模块不显示。但是,当我转到浏览器并转储php_info()时,模块会显示并显示它已正确安装。另一个问题是我一直在尝试将带有a

php - 为什么 php5-fpm 发布请求很慢,而相同的 php-cli 代码/控制台 curl 工作得非常快?

我正在使用虚拟方法向本地apiWeb服务(通过LAN)执行POST请求,该方法本身运行速度非常快(不到一秒)。问题是如果我使用php5-fpm执行POST请求(curlpost,streams)需要很长时间。如果我使用具有相同代码或控制台curl命令的php-cli脚本-它运行得非常快,就像一个魅力。奇怪的事情:如果我使用system从php5-fpm执行控制台curl命令,则执行请求需要很长时间。所以,没有办法作弊:(我使用直接ipv4地址来消除DNS问题(我尝试定义CURLOPT_IPRESOLVE选项,但性能相同)。如果我省略curlCURLOPT_POSTFIELDS选项,ph

php - 用 OpenSSL 替换 Mcrypt

目前,我们的系统上有一个mcrypt实现,可以在我们的PHP应用程序中加密一些敏感数据。现在我们有一个新要求,我们必须将crypt模块更改为openssl。另一件重要的事情是我们正在使用密码河豚和模式ecb。所以我开始测试有什么区别以及如何用openssl解密mcrypt加密字符串。我使用了标准的PHP函数:mcrypt_encrypt与openssl_encryptmcrypt_decrypt与openssl_decrypt两种方法都提供不同的结果。第二件事是,在给定的密码(blowfish)和模式(ecb)中,两种类型都需要不同的IV长度(openssl=0和mcrypt=56)。