"Laravel 10 - .env 파일에서 API 키가 인식되지 않습니다."
<p>저는 <code>Laravel Framework 10.15.0</code>을 사용하고 있습니다. </p>
<p>다음과 같은 방법으로 API 키를 로드해 보았습니다. </p>
<pre class="brush:php;toolbar:false;">$apiKeyOpenAI = env('OPENAI_API_KEY');
$client = OpenAI::client($apiKeyOpenAI);</pre>
<p><code>.env</code> 파일에는 API 키가 명확하게 정의되어 있습니다. </p>
<p><code>OPENAI_API_KEY=xx-xxxxxxxxxxxxxxxxxxxxxxx</code></p>
<p>그러나 서버에서 애플리케이션을 실행할 때 <code>$apiKeyOpenAI</code>가 null이라는 메시지가 표시됩니다. </p>
<p>그러나 내 <code>.env</code> 파일에는 OPENAI_API_KEY가 있습니다.확인해 봤습니다! </p>
<p>캐시 <code>php artisan config:clear </code>를 삭제하려고 했지만 여전히 오류가 발생합니다. </p>
<pre class="brush:php;toolbar:false;">TypeError
OpenAI::client(): 인수 #1($apiKey)은 문자열 유형이어야 하며, null이 주어지고 151행의 /var/www/demo-website/app/Console/Commands/AdminCommand.php에서 호출되어야 합니다.
공급업체/openai-php/client/src/OpenAI.php:13에서
9▕{
10▕ /**11▕ * 주어진 API 토큰을 사용하여 새로운 Open AI 클라이언트를 생성합니다.
12▕*/
➜ 13▕ 공용 정적 함수 클라이언트(문자열 $apiKey, 문자열 $organization = null): 클라이언트
14▕{
15▕ return self::factory()
16▕ ->withApiKey($apiKey)
17▕ ->withOrganization($organization)
1개의 앱/콘솔/명령/AdminCommand.php:151
OpenAI::클라이언트()
2 앱/콘솔/명령/AdminCommand.php:39
AppConsoleCommandsAdminCommand::generateContentUsingOpenAI()</pre>
<p>내가 뭘 잘못하고 있는지 제안해 주실 수 있나요? </p>
<p>답변해 주셔서 감사합니다! </p>
<p><strong>업데이트</strong></p>
<p>서버에 배포한 후 작동하려면 다음 스크립트를 실행해야 합니다. </p>
<pre class="brush:php;toolbar:false;">Route::get('/clear', function() {
Artisan::call('캐시:클리어');
Artisan::call('config:clear');
"캐시, 구성이 지워졌습니다"를 반환합니다.
})->middleware(['auth', 'admin']);</pre>
<p>배포 시 다음 스크립트도 자동으로 실행됩니다. </p>
<pre class="brush:php;toolbar:false;">#!/bin/sh
-e로 설정
echo "애플리케이션 배포 중..."
# 유지 관리 모드로 들어갑니다
(php artisan 다운) || 참
# 코드베이스 업데이트
git 가져오기 원본 배포
git Reset --하드 오리진/배포
# 잠금 파일을 기반으로 종속성을 설치합니다.
작곡가 설치 --no-interaction --prefer-dist --optimize-autoloader
#데이터베이스 마이그레이션
PHP 장인 마이그레이션 --force
# 참고: 대기열 작업자를 사용하는 경우 여기에서 다시 시작할 수 있습니다.
#...
# 캐시 지우기
# PHP 장인 최적화
PHP 장인 구성:캐시
PHP 장인 경로: 지우기
PHP 장인 경로:캐시
PHP 장인 보기:지우기
PHP 장인 보기:캐시
php artisan 인증:지우기 재설정
PHP 장인 캐시:지우기
PHP 장인 구성: 지우기
#사이트맵 생성
# php artisan 사이트맵:생성
# opcache를 업데이트하려면 PHP를 다시 로드하세요.
에코 "" sudo -S 서비스 php8.1-fpm 다시 로드
# 유지관리 모드 종료
PHP 장인 최대
echo "애플리케이션이 배포되었습니다!"</pre></p>