composer create-project flarum/flarum . --stability=beta
我尝试运行此命令,但它给了我这个错误。
[RuntimeException]
The openssl extension is required for SSL/TLS protection but is not availab
le. If you can not enable the openssl extension, you can disable this error
, at your own risk, by setting the 'disable-tls' option to true.
我尝试添加" extension = php_openssl.dll" to" php.ini",但它仍然出现此错误
答案 0 :(得分:101)
同样的错误发生在我身上。我通过关闭作曲家的TLS修复它,它不安全但是我承担了开发机器的风险。
试试这个:
composer config -g -- disable-tls true
并重新运行您的Composer。它对我有用!
但它不安全且不推荐用于您的服务器。官方网站说:
如果设置为true,则将使用HTTP尝试所有HTTPS URL,并且不执行网络级加密。启用此功能存在安全风险,不建议这样做。更好的方法是在php.ini中启用php_openssl扩展名。
如果您不想在您的计算机/服务器中启用不安全的图层,那么设置您的php以启用openssl,它也能正常工作。确保已安装PHP Openssl扩展,并在php.ini文件中启用它。
要启用OpenSSL,请在php.ini文件中添加或查找并取消注释此行:
<强>的Linux / OSX:强>
extension=php_openssl.so
<强>窗:强>
extension=php_openssl.dll
如果需要,重新加载你的php-fpm / web-server!
答案 1 :(得分:13)
根据作曲家reference,有两个相关选项:disable-tls
和secure-http
。
nano ~/.composer/config.json
...
{
"config": {
"disable-tls": true,
"secure-http": false
}
}
然后它抱怨很多:
You are running Composer with SSL/TLS protection disabled.
Warning: Accessing getcomposer.org over http which is an insecure protocol.
但它执行composer selfupdate
(或其他)。
虽然不能简单地在Linux上“在php.ini中启用SSL”; PHP需要使用配置为shared
库的openSSL进行编译 - 以便能够从PHP CLI SAPI访问它。
答案 2 :(得分:8)
要启用openssl,请进入php.ini并启用此行:
composer config -g -- disable-tls true
如果您不想启用openssl,则可以将composer设置为不使用openssl:
Function FindAppts(apptDate As Date, strSubject As String)
Dim myDate As Date
Dim myEnd As Date
Dim oCalendar As Outlook.Folder
Dim oItems As Outlook.Items
Dim oItemsInDateRange As Outlook.Items
Dim oFinalItems As Outlook.Items
Dim oAppt As Outlook.AppointmentItem
Dim strRestriction As String
myStart = apptDate
myEnd = DateAdd("d", 30, myStart)
Debug.Print "Start:", myStart
Debug.Print "End:", myEnd
'Construct filter for the next 30-day date range
strRestriction = "[Start] >= '" & _
Format$(myStart, "mm/dd/yyyy hh:mm AMPM") _
& "' AND [End] <= '" & _
Format$(myEnd, "mm/dd/yyyy hh:mm AMPM") & "'"
'Check the restriction string
Debug.Print strRestriction
Set oCalendar = Application.Session.GetDefaultFolder(olFolderCalendar)
Set oItems = oCalendar.Items
oItems.IncludeRecurrences = False
oItems.Sort "[Start]"
'Restrict the Items collection for the 30-day date range
Set oItemsInDateRange = oItems.Restrict(strRestriction)
'Construct filter for Subject containing 'team'
Const PropTag As String = "http://schemas.microsoft.com/mapi/proptag/"
strRestriction = "@SQL=" & Chr(34) & PropTag _
& "0x0037001E" & Chr(34) & " like '%' & strSubject & '%'"
'Restrict the last set of filtered items for the subject
Set oFinalItems = oItemsInDateRange.Restrict(strRestriction)
'Sort and Debug.Print final results
oFinalItems.Sort "[Start]"
For Each oAppt In oFinalItems
Debug.Print oAppt.Start, oAppt.Subject
If oAppt.Start = apptDate Then
oAppt.Delete
End If
Next
End Function
然而,这是一个安全问题。
答案 3 :(得分:7)
我遇到了完全相同的问题并且找不到解决方案,所以在思考并寻找一段时间之后我认为我的PHP.INI显然没有查找我的PHP扩展的正确目录,所以我去了:
“可加载扩展(模块)所在的目录。” 并找到了以下内容:
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
;extension_dir = "ext"
简单地删除了;在“extension_dir =”ext“的前面,请注意这只适用于Windows,如果您运行的是其他操作系统,请删除第一个extension_dir前面的分号。
我不知道为什么我的没有标记,但如果你遇到问题,这只是要找的东西。
答案 4 :(得分:2)
出现此问题的原因是openssl和扩展程序导致在php.ini
文件
extension=php_openssl.dll
extension_dir = "ext"
它在我的机器上工作。
答案 5 :(得分:1)
我之所以添加它是因为它对我有用,我在激活开发者选项的情况下安装了作曲家(只需选中安装程序中的复选框)
https://getcomposer.org/Composer-Setup.exe
我认为将新版本的php添加到wamp服务器时可能会出现此问题。 如果这样做,则必须检查 extension_dir 变量是否配置为“ env”。
然后检查 phpx.x / ext 文件夹中是否存在php_openssl.dll。如果没有php_openssl.dll,则必须在此处下载: http://www.telecharger-dll.fr/dll-php_openssl.dll.html
如果仍然无法正常运行,请通过运行以下cmd命令来检查您的apache服务器是否使用了良好的php.ini文件:
php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: C:\wamp64\bin\php\php7.4.7x64\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
如果加载的配置文件返回(无),则必须检查您的appache / apache2.4.41 / conf / httpd.conf文件是否配置了正确的phpIniDir和正确的模块。
一定是这样的:
PHPIniDir "${APACHE_DIR}/bin"
LoadModule php7_module "${INSTALL_DIR}/bin/php/php7.4.7x64/php7apache2_4.dll"
然后重新启动apache并检查我必须喜欢的“ apache / apache2.4.41 / bin / php.ini”(这是PHPIniDir上面的配置)
答案 6 :(得分:1)
尝试了一切之后,我终于设法进行了排序。以上建议的解决方案均不适用于我。我的系统是Windows 10 PC。为了进行排序,我不得不更改config.json
这里的C:\Users\[Your User]\AppData\Roaming\Composer\
文件。在其中,您会找到:
{
"config": {
"disable-tls": true},
"repositories": {
"packagist": {
"type": "composer",
"url": "http://repo.packagist.org" // this needs to change to 'https'
}
}
}
您需要在其中更新packagist仓库网址以指向“ https”网址版本。
我知道上面选择的解决方案将在95%的情况下起作用,但是正如我所说,这对我来说不起作用。希望这对某人有帮助。
祝您编程愉快!
答案 7 :(得分:0)
我有同样的问题。我尝试了此页面上列出的所有内容。当我重新安装Composer时,它像以前一样工作。我的PHP版本不匹配,已通过新安装进行了更正,新安装使用系统环境变量中安装的PHP路径建立了依赖关系。
我不推荐使用composer config -g -- disable-tls true
方法。
通过这种方式可以解决这个问题,composer config -g -- disable-tls false
。
答案 8 :(得分:0)
对于Windows 10上的我来说,这些都不起作用...我已将本地服务器从WAMP更改为Laragon,并且不得不在环境变量下的php.ini中添加新路径:
控制面板->高级系统设置->环境变量->路径(双击)->浏览...,然后导航到php.ini,然后单击确定。
此后,需要重新启动,现在作曲家的工作就像灵符一样!
答案 9 :(得分:0)
composer config --global disable-tls true
composer config --global disable-tls false
答案 10 :(得分:0)
当我尝试安装 Magento 时,我在我的新主服务器上的 IIS 上遇到了这个问题。为了修复它,我在我的 php.ini 中添加了上述内容:extension=php_openssl.dll,然后在 Windows 10 Pro 上重新启动了我的 IIS 服务器。