значение из env не повторяется - PullRequest
0 голосов
/ 10 июля 2019

Я довольно долго работал над laravel с laravel 5.0 до 5.8. В настоящее время я использую laravel 5.7 в проекте, я объявляю некоторые константы в моем файле env, но не могу их распечататьв моем контроллере есть константы в моем файле env

    APP_NAME=Laravel
APP_ENV=production
APP_KEY=base64:Qm/Xwz4V9oJLhlk8RiY4usy4cdruFHRTe8iYkj7suMs=
APP_DEBUG=true
APP_URL=http://devmarketplace.finpay.pk
LOG_CHANNEL=stack

DB_CONNECTION=mysql

#crm database
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=marketplacecrm
DB_USERNAME=root
DB_PASSWORD=

#marketplace database
LIVE_READ_DB_HOST=localhost
LIVE_WRITE_DB_HOST=localhost

#marketplace database
LIVE_DB_DATABASE=marketplace
LIVE_DB_USERNAME=root
LIVE_DB_PASSWORD=

#marketplace logs
LIVE_LOGS_DB_HOST=localhost
LIVE_LOGS_DB_DATABASE=marketplacelogs
LIVE_LOGS_DB_USERNAME=root
LIVE_LOGS_DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

PAYROLL_BANKS=http://devpayrollplus.finpay.pk/public/apiV2/
UNEEB=UNEEB

теперь я обращаюсь к ним в моем контроллере как

public function index(){
        echo env("UNEEB");
        exit();
        return view("stores.stores");
    }

я выполнил ряд шагов после добавления значения в моем env

php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan config:cache

но он все еще не работает, забавно то, что у меня есть еще один проект на laravel 5.8, и он отлично работает над ними, вот мои composer.json и package.json на случай, если что-то пошло не так.

composer.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.1.3",
        "awobaz/compoships": "^1.1",
        "aws/aws-sdk-php-laravel": "^3.3",
        "barryvdh/laravel-dompdf": "^0.8.3",
        "donatello-za/rake-php-plus": "^1.0",
        "fideloper/proxy": "^4.0",
        "genealabs/laravel-model-caching": "^0.3.6",
        "guzzlehttp/guzzle": "^6.3",
        "laravel/framework": "5.7.*",
        "laravel/telescope": "^1.0",
        "laravel/tinker": "^1.0",
        "maatwebsite/excel": "^3.1",
        "spatie/laravel-activitylog": "^3.1",
        "spatie/laravel-database-mail-templates": "^2.0",
        "spatie/laravel-fractal": "^5.4",
        "spatie/laravel-permission": "^2.29"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^3.2",
        "beyondcode/laravel-dump-server": "^1.0",
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^2.0",
        "phpunit/phpunit": "^7.0"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "files": [
            "app/Helpers/GeneralHelper.php"
        ],
        "psr-4": {
            "App\\": "app/",
            "Model\\": "app/Models",
            "Report\\": "app/Reports",
            "Settlement\\": "app/Settlements",
            "Batch\\": "app/Batches"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}

Package.json

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "cross-env": "^5.1",
        "laravel-mix": "^4.0.7",
        "lodash": "^4.17.5",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.15.2",
        "sass-loader": "^7.1.0",
        "vue-template-compiler": "^2.5.21",
        "webpack-cli": "^3.3.5"
    },
    "dependencies": {
        "@fortawesome/fontawesome-free": "^5.6.3",
        "bootstrap": "^4.2.1",
        "bootstrap-daterangepicker": "^3.0.3",
        "bootstrap-vue": "^2.0.0-rc.11",
        "css-loader": "^2.1.0",
        "datatables.net": "^1.10.19",
        "datatables.net-autofill-bs4": "^2.3.2",
        "datatables.net-bs": "^1.10.19",
        "datatables.net-bs4": "^1.10.19",
        "datatables.net-buttons-bs4": "^1.5.4",
        "datatables.net-colreorder-bs4": "^1.5.1",
        "datatables.net-fixedcolumns-bs4": "^3.2.6",
        "datatables.net-fixedheader-bs4": "^3.1.5",
        "datatables.net-keytable-bs4": "^2.5.0",
        "datatables.net-responsive-bs4": "^2.2.3",
        "datatables.net-rowgroup-bs4": "^1.1.0",
        "datatables.net-rowreorder-bs4": "^1.2.5",
        "datatables.net-scroller-bs4": "^1.5.1",
        "datatables.net-select-bs4": "^1.2.7",
        "fs": "0.0.1-security",
        "jquery": "^3.3.1",
        "jshint": "^2.10.2",
        "mdbootstrap": "^4.7.0",
        "moment": "^2.24.0",
        "nprogress": "^0.2.0",
        "popper.js": "^1.14.6",
        "vue": "^2.5.22",
        "vue-fullscreen": "^2.1.3",
        "vue-sweetalert2": "^2.1.0",
        "vue2-daterange-picker": "^0.1.6",
        "vuejs-datepicker": "^1.5.4"
    }
}

Ответы [ 4 ]

2 голосов
/ 10 июля 2019

Выполните следующие действия

Добавьте свою константу к .env как
ADMIN_EMAIL=some@email.com

Добавьте то же самое к вашему config/app.php
'admin_email' => env('ADMIN_EMAIL', 'default@email.com'),

Получить вашу ценность
{{config('app.admin_email')}}

2 голосов
/ 10 июля 2019

Убедитесь, что вы остановили сервер один раз после нового изменения в .env, если вы используете php artisan serve для загрузки новых изменений.

Поскольку по умолчанию запускается конфигурация, указанная в то время, когда сервер запускается.

Таким образом, для загрузки каждого нового изменения с .env вам необходимо завершить процесс и повторно запустить php artisan serve

Отредактировано:

Также подтвердите, если в .env есть какая-либо переменная, содержащая spaces or special charectors, убедитесь, что вы обернули их в double quotes.

0 голосов
/ 10 июля 2019

Вы звоните

 echo env("UNEEB")

, в то время как он объявлен с 3 заглавными буквами E в вашем файле env.

0 голосов
/ 10 июля 2019

Странно, те команды, которые вы выполнили, должны были решить вашу проблему ... В любом случае, Laravel немного чувствителен к своему файлу .env, поэтому для вашего использования я бы изменил подход к константам.

Laravel рекомендует использовать только env() в файлах конфигурации. Попробуйте использовать в своем коде помощник config() вместо env(). Переместите свои константы в новый файл, и тогда вы можете вызвать config('blah-blah-name') в своем коде.

Надеюсь, это поможет.

LE: Если вы используете php artisan serve, это может быть причиной вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...