Php Artisan Key Generate Errors
Note
This article deploys an app to App Service on Linux. To deploy to App Service on Windows, see Build a PHP and MySQL app in Azure.
Nov 27, 2019 PHP Artisan Key:Generate (Aborted Error) #7625. Closed KCleveland313 opened this issue Nov 27, 2019 5 comments Closed. So for this issue what I did was use the command php artisan key:generate -show This will show u the key instead of adding it to the env file. Copy and paste the key from there and it worked.
App Service on Linux provides a highly scalable, self-patching web hosting service using the Linux operating system. This tutorial shows how to create a PHP app and connect it to a MySQL database. When you're finished, you'll have a Laravel app running on App Service on Linux.
In this tutorial, you learn how to:
- Create a MySQL database in Azure
- Connect a PHP app to MySQL
- Deploy the app to Azure
- Update the data model and redeploy the app
- Stream diagnostic logs from Azure
- Manage the app in the Azure portal
If you don't have an Azure subscription, create a free account before you begin.
Prerequisites
Jan 06, 2018 php artisan key:generate. This command should generate a key file in your.env file located at the project root. If you don’t yet have a.env file at your project root then you should create one by copying the contents of file.env.example. Once you have created the.env file, run the command again and make sure that there is a key generated at property APPKEY in the file. Ldco2016@DCortes-MacBook-Pro-3 /Projects/photogallery (master)$ php artisan key:generate ruby-2.2.1. Jan 25, 2019 Expected Behavior (or desired behavior if a feature request) To generate key (what you expect to happen goes here) Generate Key Actual Behavior Error: filegetcontents (c:wampwwwsnipe-it/.env). Skip to content. Snipe / snipe-it. Php artisan key:generate #6643. Closed wisin-003 opened this issue Jan 25, 2019 4 comments Closed. OS は CentOS 6.7、 PHP は 5.6.24 です。 composer create-project -prefer-dist laravel/laravel test で作成した test ディレクトリに入り、 cd test chmod -R a+w storage/. chmod -R a+w bootstrap/cache php artisan key:generate をした後、 php artisan serve を実行すると. As it must comply with the rules of the selected cipher in the configuration, the easiest way to generate a valid key is using the php artisan key:generate -show command, which will print a key that you can copy and then paste into the next step. Compiling views during the request negatively impacts performance, so Laravel provides the view:cache Artisan command to precompile all of the views utilized by your application. For increased performance, you may wish to run this command as part of your deployment process: php artisan view:cache.
To complete this tutorial:
- Enable the following PHP extensions Laravel needs: OpenSSL, PDO-MySQL, Mbstring, Tokenizer, XML
Prepare local MySQL
In this step, you create a database in your local MySQL server for your use in this tutorial.
Connect to local MySQL server
In a terminal window, connect to your local MySQL server. You can use this terminal window to run all the commands in this tutorial.
If you're prompted for a password, enter the password for the root
account. If you don't remember your root account password, see MySQL: How to Reset the Root Password.
If your command runs successfully, then your MySQL server is running. If not, make sure that your local MySQL server is started by following the MySQL post-installation steps.
Create a database locally
At the mysql
prompt, create a database.
Exit your server connection by typing quit
.
Create a PHP app locally
In this step, you get a Laravel sample application, configure its database connection, and run it locally.
Clone the sample
In the terminal window, cd
to a working directory.
Run the following command to clone the sample repository.
cd
to your cloned directory.Install the required packages.
Configure MySQL connection
In the repository root, create a file named .env. Copy the following variables into the .env file. Replace the <root_password> placeholder with the MySQL root user's password.
For information on how Laravel uses the .env file, see Laravel Environment Configuration.
Run the sample locally
Run Laravel database migrations to create the tables the application needs. To see which tables are created in the migrations, look in the database/migrations directory in the Git repository.
Generate a new Laravel application key.
Run the application.
Navigate to http://localhost:8000
in a browser. Add a few tasks in the page.
To stop PHP, type Ctrl + C
in the terminal.
Use Azure Cloud Shell
Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. You can use either Bash or PowerShell with Cloud Shell to work with Azure services. You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.
To start Azure Cloud Shell:
Mar 03, 2020 To create an API key: Navigate to the APIs & Services→Credentials panel in GCP Console. Select Create credentials, then select API key from the dropdown menu. Click the Create button. The API key created dialog box displays your newly created key. How to generate api key palo alto. Typically you will have thousands or millions of API keys not billions, so they do not need to: Reliably store information about the API user because that can be stored in your database. As such, one way to generate an API key is to take two pieces of information: a serial number to guarantee uniqueness; enough random bits to pad out the key. To keep your API keys secure, follow these best practices: Do not embed API keys directly in code: API keys that are embedded in code can be accidentally exposed to the public, for example, if you forget to remove the keys from code that you share. Instead of embedding your API keys in your applications, store them in environment variables. Jun 14, 2018 Creating your own RESTful API can be a great way to build a business around data you’ve collected or a service you’ve created, or it can just be a fun personal project that allows you to learn a new skill. Here’s a list of 20 tutorials on how to design your own REST API! This list has been sorted by the programming language used in the tutorial, which makes it easy to find the perfect.
Option | Example/Link |
---|---|
Select Try It in the upper-right corner of a code block. Selecting Try It doesn't automatically copy the code to Cloud Shell. | |
Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. | |
Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. |
To run the code in this article in Azure Cloud Shell:
Start Cloud Shell.
Select the Copy button on a code block to copy the code.
Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.
Select Enter to run the code.
Create MySQL in Azure
In this step, you create a MySQL database in Azure Database for MySQL. Later, you configure the PHP application to connect to this database.
Create a resource group
A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. For example, you can choose to delete the entire resource group in one simple step later.
In the Cloud Shell, create a resource group with the az group create
command. The following example creates a resource group named myResourceGroup in the West Europe location. To see all supported locations for App Service on Linux in Basic tier, run the az appservice list-locations --sku B1 --linux-workers-enabled
command.
You generally create your resource group and the resources in a region near you.
When the command finishes, a JSON output shows you the resource group properties.
Create a MySQL server
Create a server in Azure Database for MySQL with the az mysql server create
command.
In the following command, substitute a unique server name for the <mysql-server-name> placeholder, a user name for the <admin-user>, and a password for the <admin-password> placeholder. The server name is used as part of your MySQL endpoint (https://<mysql-server-name>.mysql.database.azure.com
), so the name needs to be unique across all servers in Azure. For details on selecting MySQL DB SKU, please see Create an Azure Database for MySQL server.
When the MySQL server is created, the Azure CLI shows information similar to the following example:
Configure server firewall
Create a firewall rule for your MySQL server to allow client connections by using the az mysql server firewall-rule create
command. When both starting IP and end IP are set to 0.0.0.0, the firewall is only opened for other Azure resources.
Tip
You can be even more restrictive in your firewall rule by using only the outbound IP addresses your app uses.
In the Cloud Shell, run the command again to allow access from your local computer by replacing <your-ip-address> with your local IPv4 IP address.
Connect to production MySQL server locally
In the terminal window, connect to the MySQL server in Azure. Use the value you specified previously for <admin-user> and <mysql-server-name>. When prompted for a password, use the password you specified when you created the database in Azure.
Create a production database
At the mysql
prompt, create a database.
Create a user with permissions
Create a database user called phpappuser and give it all privileges in the sampledb
database.
Exit the server connection by typing quit
.
Connect app to Azure MySQL
In this step, you connect the PHP application to the MySQL database you created in Azure Database for MySQL.
Configure the database connection
In the repository root, create an .env.production file and copy the following variables into it. Replace the placeholder <mysql-server-name>.
Save the changes.
Tip
To secure your MySQL connection information, this file is already excluded from the Git repository (See .gitignore in the repository root). Later, you learn how to configure environment variables in App Service to connect to your database in Azure Database for MySQL. With environment variables, you don't need the .env file in App Service.
Configure TLS/SSL certificate
By default, Azure Database for MySQL enforces TLS connections from clients. To connect to your MySQL database in Azure, you must use the .pem certificate supplied by Azure Database for MySQL.
Open config/database.php and add the sslmode and options parameters to connections.mysql
, as shown in the following code.
The certificate BaltimoreCyberTrustRoot.crt.pem
is provided in the repository for convenience in this tutorial.
Test the application locally
Run Laravel database migrations with .env.production as the environment file to create the tables in your MySQL database in Azure Database for MySQL. Remember that .env.production has the connection information to your MySQL database in Azure.
.env.production doesn't have a valid application key yet. Generate a new one for it in the terminal.
Run the sample application with .env.production as the environment file.
Navigate to http://localhost:8000
. If the page loads without errors, the PHP application is connecting to the MySQL database in Azure.
Add a few tasks in the page.
To stop PHP, type Ctrl + C
in the terminal.
Commit your changes
Run the following Git commands to commit your changes:
Your app is ready to be deployed.
Deploy to Azure
In this step, you deploy the MySQL-connected PHP application to Azure App Service.
The Laravel application starts in the /public directory. The default PHP Docker image for App Service uses Apache, and it doesn't let you customize the DocumentRoot
for Laravel. However, you can use .htaccess
to rewrite all requests to point to /public instead of the root directory. In the repository root, an .htaccess
is added already for this purpose. With it, your Laravel application is ready to be deployed.
For more information, see Change site root.
Configure a deployment user
FTP and local Git can deploy to an Azure web app by using a deployment user. Once you configure your deployment user, you can use it for all your Azure deployments. Your account-level deployment username and password are different from your Azure subscription credentials.
To configure the deployment user, run the az webapp deployment user set command in Azure Cloud Shell. Replace <username> and <password> with a deployment user username and password.
- The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
- The password must be at least eight characters long, with two of the following three elements: letters, numbers, and symbols.
The JSON output shows the password as null
. If you get a 'Conflict'. Details: 409
error, change the username. If you get a 'Bad Request'. Details: 400
error, use a stronger password.
Record your username and password to use to deploy your web apps.
Create an App Service plan
In the Cloud Shell, create an App Service plan in the resource group with the az appservice plan create
command.
The following example creates an App Service plan named myAppServicePlan
in the Free pricing tier (--sku F1
) and in a Linux container (--is-linux
).
When the App Service plan has been created, the Azure CLI shows information similar to the following example:
Create a web app
Create a web app in the myAppServicePlan
App Service plan.
In the Cloud Shell, you can use the az webapp create
command. In the following example, replace <app-name>
with a globally unique app name (valid characters are a-z
, 0-9
, and -
). The runtime is set to PHP 7.0
. To see all supported runtimes, run az webapp list-runtimes --linux
.
When the web app has been created, the Azure CLI shows output similar to the following example:
You’ve created an empty new web app, with git deployment enabled.
Note
The URL of the Git remote is shown in the deploymentLocalGitUrl
property, with the format https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Save this URL as you need it later.
Configure database settings
In App Service, you set environment variables as app settings by using the az webapp config appsettings set
command.
The following command configures the app settings DB_HOST
, DB_DATABASE
, DB_USERNAME
, and DB_PASSWORD
. Replace the placeholders <appname> and <mysql-server-name>.
You can use the PHP getenv method to access the app settings. The Laravel code uses an env wrapper over the PHP getenv
. For example, the MySQL configuration in config/database.php looks like the following code:
Configure Laravel environment variables
Laravel needs an application key in App Service. You can configure it with app settings.
Use php artisan
to generate a new application key without saving it to .env.
Set the application key in the App Service app by using the az webapp config appsettings set
command. Replace the placeholders <appname> and <outputofphpartisankey:generate>.
APP_DEBUG='true'
tells Laravel to return debugging information when the deployed app encounters errors. When running a production application, set it to false
, which is more secure.
Push to Azure from Git
Add an Azure remote to your local Git repository.
Push to the Azure remote to deploy the PHP application. You are prompted for the password you supplied earlier as part of the creation of the deployment user.
During deployment, Azure App Service communicates its progress with Git.
Browse to the Azure app
Browse to http://<app-name>.azurewebsites.net
and add a few tasks to the list.
Congratulations, you're running at see console logs immediately, check again in 30 seconds.
You do not need a separate pair of keys for each VM or service you wish to access.Your public key can be shared with anyone, but only you (or your local security infrastructure) should possess your private key. Private key passphraseThe SSH private key should have a very secure passphrase to safeguard it.
Note
You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker
.
To stop log streaming at any time, type Ctrl
+C
.
Manage the Azure app
Go to the Azure portal to manage the app you created.
From the left menu, click App Services, and then click the name of your Azure app.
You see your app's Overview page. Here, you can perform basic management tasks like stop, start, restart, browse, and delete.
The left menu provides pages for configuring your app.
Clean up resources
Php Artisan Key:generate Errors Windows 10
In the preceding steps, you created Azure resources in a resource group. If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:
This command may take a minute to run.
Next steps
In this tutorial, you learned how to:
- Create a MySQL database in Azure
- Connect a PHP app to MySQL
- Deploy the app to Azure
- Update the data model and redeploy the app
- Stream diagnostic logs from Azure
- Manage the app in the Azure portal
Advance to the next tutorial to learn how to map a custom DNS name to your app.
Php Artisan Key:generate Errors List
Or, check out other resources: