目前,我正在laravel5上做一个项目。
我使用socialize进行Facebook身份验证,但我在下面提到了cURL错误。
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.backgroundImageView.contentMode = UIViewContentModeCenter;
self.backgroundImageView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"connect"]];
[self addParallaxEffectToView:self.backgroundImageView];
}
- (void)addParallaxEffectToView:(UIView *)view
{
// Set vertical effect
UIInterpolatingMotionEffect *verticalMotionEffect =
[[UIInterpolatingMotionEffect alloc]
initWithKeyPath:@"center.y"
type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
verticalMotionEffect.minimumRelativeValue = @(-50);
verticalMotionEffect.maximumRelativeValue = @(50);
// Set horizontal effect
UIInterpolatingMotionEffect *horizontalMotionEffect =
[[UIInterpolatingMotionEffect alloc]
initWithKeyPath:@"center.x"
type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
horizontalMotionEffect.minimumRelativeValue = @(-50);
horizontalMotionEffect.maximumRelativeValue = @(50);
// Create group to combine both
UIMotionEffectGroup *group = [UIMotionEffectGroup new];
group.motionEffects = @[horizontalMotionEffect, verticalMotionEffect];
// Add both effects to your view
[view addMotionEffect:group];
}
我在互联网上搜索并完成了以下更改,但没有帮助
我在控制器中的代码
RequestException in CurlFactory.php line 162:
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
答案 0 :(得分:19)
我只花了几个小时来解决这个问题。正确的答案是
“确实要把cacert.pem文件和修改的php.ini文件修改为匹配Moez上面的建议。但是我继续得到CURL错误60's诀窍是获得干净的副本PEM文件!任何涉及Windows记事本或其他编辑器的方法都会破坏文件并给出cURL错误60等等。最后我找到了https://gist.github.com/VersatilityWerks/5719158/download并下载了一个带有cacert.pem文件干净副本的tar文件...... ......然后一切都很完美。“
由于你正在使用Windows,这可能就是问题所在。
答案 1 :(得分:10)
在使用Laravel的本地主机上,您可以轻松绕过cURL错误。
导航到Client.php文件(vendor \ guzzlehttp \ guzzle \ src \ Client.php)
将“verify”更改为false
lowercase = {"abcdefghjklmnopqrstuvwxyz": 5}
uppercase = {"ABCDEFGHIJKLMNOPQRSTUWXYZ": 6}
word = input("What is your word?")
score = 0
for x in word:
countforboth = 0
for y in lowercase:
if x in y: # if the word has a lower case letter
score = score + lowercase[y]
for z in uppercase:
if x in z:
score = score + uppercase[z]
countforboth = 0
for y in lowercase:
for z in uppercase:
if x in z and y:
countforboth = countforboth + 1 # if the word has both lower case and upper case lett
score = score + 7
if countforboth > 1:
score -= 7 * (countforboth - 1)
print("Your score is", score)
elif countforboth < 2:
print("Your score is", score)
答案 2 :(得分:4)
答案 3 :(得分:1)
对于任何拔头发说“我已经下载了一个PRISTINE cacert.pem文件,把它放在正确的位置,正确设置curl.cainfo,并重新启动我的APACHE服务器但是它不能正常工作!”! ?“......如果您使用的是php-fpm,那么service apache2 restart
和service apache2 reload
将不更新引用,您将继续收到错误60.如果您故意将curl.cainfo指向一个错误的路径,你不会得到预期的错误77(第一个线索)。
要重新启动php-fpm并更新该引用(不重新启动整个服务器),请使用service php-fpm restart
或service php5-fpm restart
或service php7-fpm restart
或service php7.0-fpm restart
等,具体取决于您的php版本。希望这有助于节省时间。
答案 4 :(得分:1)
经过大量研究,我找到了最佳解决方案。您只需要在vendor / guzzlehttp / guzzle / src / Client.php文件中使验证为假。
$defaults = [
'allow_redirects' => RedirectMiddleware::$defaultSettings,
'http_errors' => true,
'decode_content' => true,
'verify' => true, // make this false
'cookies' => false,
'idn_conversion' => true,
];
答案 5 :(得分:0)
php.ini
文件时,您会看到;curl.cainfo = “certificate path\cacert.pem”
,您必须注意前面有分号。删除那个和所有引号,简单地把文件路径看起来像这样
curl.cainfo = C:\xampp\php\extras\ssl\cacert.pem
你可以看到我的cacert.pem
位于路径C:\ xampp \ php \ extras \ ssl \ cacert.pem中,它应该在哪里。保存并重新启动服务器。