The determination of the C compiler flags is usually left to a configuration script called mysqlconfig, which can be invoked. Brew install openssl mysql-connector-c. DBngin provides a free, all-in-one database management tool that includes MySQL, PostgreSQL, and Redis. After DBngin has been installed, you can connect to your database at 127.0.0.1 using the root username and an empty string for the password. I've recently been working on a few of our older websites with newer MySQL installations and am coming across the following error: SQLSTATEHY000: General error: 1364 Field 'deliveryaddressid' doesn't have a default value This is caused by MySQL having a strict mode set which won't allow INSERT or UPDATE commands with empty fields where the schema doesn't have a default value set. The new mysql@5.7 version 5.7.24 couldn't work because the some config reference was kept linked to the old mysql instead of the new brew Cellar mysql@5.7 Keg. So thanks I try this later – KeitelDOG Dec 28 '18 at 21:12.
Latest versionReleased:
Python interface to MySQL
Project description
This is a fork of MySQLdb1.
This project adds Python 3 support and bug fixes.I hope this fork is merged back to MySQLdb1 like distribute was merged back to setuptools.
Support
Do Not use Github Issue Tracker to ask help. OSS Maintainer is not free tech support
When your question looks relating to Python rather than MySQL:
- Python mailing list python-list
- Slack pythondev.slack.com
Or when you have question about MySQL:
Install
Windows
Building mysqlclient on Windows is very hard.But there are some binary wheels you can install easily.
macOS (Homebrew)
Install MySQL and mysqlclient:
If you don't want to install MySQL server, you can use mysql-client instead:
Linux
Note that this is a basic step. I can not support complete step for build for allenvironment. If you can see some error, you should fix it by yourself, or ask forsupport in some user forum. Don't file a issue on the issue tracker.
You may need to install the Python 3 and MySQL development headers and libraries like so:
$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential
# Debian / Ubuntu% sudo yum install python3-devel mysql-devel
# Red Hat / CentOS
Then you can install mysqlclient via pip now:
Customize build (POSIX)
mysqlclient uses mysql_config
or mariadb_config
by default for findingcompiler/linker flags.
You can use MYSQLCLIENT_CFLAGS
and MYSQLCLIENT_LDFLAGS
environmentvariables to customize compiler/linker options.
Documentation
Documentation is hosted on Read The Docs
Release historyRelease notifications | RSS feed
2.0.3
2.0.2
2.0.1
2.0.0
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2.post1
1.4.2
1.4.1
1.4.0
1.4.0rc3 pre-release
1.4.0rc2 pre-release
1.4.0rc1 pre-release
1.3.14
1.3.13
1.3.12
1.3.11
1.3.11rc1 pre-release
1.3.10
1.3.9
1.3.8
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
Homebrew snow leopard. Homebrew projects are upheld and can even be fixed through GDB. V10.5.8 Leopard or later (Minimum), OS X v10.6.8 Snow Leopard or later. Postgresql osx-snow-leopard homebrew. Follow edited May 23 '17 at 12:26. Community ♦ 1 1 1.
1.3.2
1.3.1
1.3.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size mysqlclient-2.0.3-cp36-cp36m-win_amd64.whl (179.0 kB) | File type Wheel | Python version cp36 | Upload date | Hashes |
Filename, size mysqlclient-2.0.3-cp37-cp37m-win_amd64.whl (179.0 kB) | File type Wheel | Python version cp37 | Upload date | Hashes |
Filename, size mysqlclient-2.0.3-cp38-cp38-win_amd64.whl (179.4 kB) | File type Wheel | Python version cp38 | Upload date | Hashes |
Filename, size mysqlclient-2.0.3-cp39-cp39-win_amd64.whl (179.4 kB) | File type Wheel | Python version cp39 | Upload date | Hashes |
Filename, size mysqlclient-2.0.3.tar.gz (88.9 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for mysqlclient-2.0.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest |
---|---|
SHA256 | 3381ca1a4f37ff1155fcfde20836b46416d66531add8843f6aa6d968982731c3 |
MD5 | 9614ec630b00470851d4af1da4d0d0ef |
BLAKE2-256 | 2c3cbd285daffea87cb0d1e33a25c78e155a8e6c551419f38a7636c9de136eed |
Hashes for mysqlclient-2.0.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest |
---|---|
SHA256 | 0ac0dd759c4ca02c35a9fedc24bc982cf75171651e8187c2495ec957a87dfff7 |
MD5 | 04f767412b0d2a66ece0226204d3100c |
BLAKE2-256 | 6b06a486f3795cf39883815eacec56d00a8fb0e6e46226af5cdfa24ffb3d43ec |
Hashes for mysqlclient-2.0.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest |
---|---|
SHA256 | 71c4b330cf2313bbda0307fc858cc9055e64493ba9bf28454d25cf8b3ee8d7f5 |
MD5 | 3230a16ee5379b4a31763be526cf4614 |
BLAKE2-256 | f4f4916fb5ae7ec4438437060638d3e17aea6ba00614cf6a75905e2632c86b2b |
Hashes for mysqlclient-2.0.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest |
---|---|
SHA256 | fc575093cf81b6605bed84653e48b277318b880dc9becf42dd47fa11ffd3e2b6 |
MD5 | 9ee9582f2bc0e984bc244363606d890c |
BLAKE2-256 | 63151934083acfecfee06b7ddf048d9df6b59b2bf7f452cfac38ea54f738c5a4 |
Hashes for mysqlclient-2.0.3.tar.gz
Algorithm | Hash digest |
---|---|
SHA256 | f6ebea7c008f155baeefe16c56cd3ee6239f7a5a9ae42396c2f1860f08a7c432 |
MD5 | c1f213c1f5dd7b3490f1657957b60ef0 |
BLAKE2-256 | 3cdf59cd2fa5e48d0804d213bdcb1acb4d08c403b61c7ff7ed4dd4a6a2deb3f7 |
- Installation
- Serving Sites
- Sharing Sites
- Custom Valet Drivers
Introduction
Valet is a Laravel development environment for macOS minimalists. Laravel Valet configures your Mac to always run Nginx in the background when your machine starts. Then, using DnsMasq, Valet proxies all requests on the *.test
domain to point to sites installed on your local machine.
In other words, Valet is a blazing fast Laravel development environment that uses roughly 7 MB of RAM. Valet isn't a complete replacement for Sail or Homestead, but provides a great alternative if you want flexible basics, prefer extreme speed, or are working on a machine with a limited amount of RAM.
Out of the box, Valet support includes, but is not limited to:
- Static HTML
However, you may extend Valet with your own custom drivers.
Installation
{note} Valet requires macOS and Homebrew. Before installation, you should make sure that no other programs such as Apache or Nginx are binding to your local machine's port 80.
To get started, you first need to ensure that Homebrew is up to date using the update
command:
Next, you should use Homebrew to install PHP:
After installing PHP, you are ready to install the Composer package manager. In addition, you should make sure the ~/.composer/vendor/bin
directory is in your system's 'PATH'. After Composer has been installed, you may install Laravel Valet as a global Composer package:
Finally, you may execute Valet's install
command. This will configure and install Valet and DnsMasq. In addition, the daemons Valet depends on will be configured to launch when your system starts:
Once Valet is installed, try pinging any *.test
domain on your terminal using a command such as ping foobar.test
. If Valet is installed correctly you should see this domain responding on 127.0.0.1
.
Valet will automatically start its required services each time your machine boots.
PHP Versions
Valet allows you to switch PHP versions using the valet use [email protected]
command. Valet will install the specified PHP version via Homebrew if it is not already installed:
{note} Valet only serves one PHP version at a time, even if you have multiple PHP versions installed.
Database
If your application needs a database, check out DBngin. DBngin provides a free, all-in-one database management tool that includes MySQL, PostgreSQL, and Redis. After DBngin has been installed, you can connect to your database at 127.0.0.1
using the root
username and an empty string for the password.
Resetting Your Installation
If you are having trouble getting your Valet installation to run properly, executing the composer global update
command followed by valet install
will reset your installation and can solve a variety of problems. In rare cases, it may be necessary to 'hard reset' Valet by executing valet uninstall --force
followed by valet install
.
Upgrading Valet
You may update your Valet installation by executing the composer global update
command in your terminal. After upgrading, it is good practice to run the valet install
command so Valet can make additional upgrades to your configuration files if necessary.
Serving Sites
Once Valet is installed, you're ready to start serving your Laravel applications. Valet provides two commands to help you serve your applications: park
and link
.
The park
Command
The park
command registers a directory on your machine that contains your applications. Once the directory has been 'parked' with Valet, all of the directories within that directory will be accessible in your web browser at http://<directory-name>.test
:
That's all there is to it. Now, any application you create within your 'parked' directory will automatically be served using the http://<directory-name>.test
convention. So, if your parked directory contains a directory named 'laravel', the application within that directory will be accessible at http://laravel.test
. In addition, Valet automatically allows you to access the site using wildcard subdomains (http://foo.laravel.test
).
The link
Command
The link
command can also be used to serve your Laravel applications. This command is useful if you want to serve a single site in a directory and not the entire directory:
Once an application has been linked to Valet using the link
command, you may access the application using its directory name. So, the site that was linked in the example above may be accessed at http://laravel.test
. In addition, Valet automatically allows you to access the site using wildcard sub-domains (http://foo.laravel.test
).
If you would like to serve the application at a different hostname, you may pass the hostname to the link
command. For example, you may run the following command to make an application available at http://application.test
:
You may execute the links
command to display a list of all of your linked directories:
The unlink
command may be used to destroy the symbolic link for a site:
Securing Sites With TLS
By default, Valet serves sites over HTTP. However, if you would like to serve a site over encrypted TLS using HTTP/2, you may use the secure
command. For example, if your site is being served by Valet on the laravel.test
domain, you should run the following command to secure it:
To 'unsecure' a site and revert back to serving its traffic over plain HTTP, use the unsecure
command. Like the secure
command, this command accepts the hostname that you wish to unsecure:
Sharing Sites
Valet even includes a command to share your local sites with the world, providing an easy way to test your site on mobile devices or share it with team members and clients.
Sharing Sites Via Ngrok
To share a site, navigate to the site's directory in your terminal and run Valet's share
command. A publicly accessible URL will be inserted into your clipboard and is ready to paste directly into your browser or share with your team:
To stop sharing your site, you may press Control + C
.
{tip} You may pass additional Ngrok parameters to the share command, such as valet share --region=eu
. For more information, consult the ngrok documentation.
Sharing Sites Via Expose
If you have Expose installed, you can share your site by navigating to the site's directory in your terminal and running the expose
command. Consult the Expose documentation for information regarding the additional command-line parameters it supports. After sharing the site, Expose will display the sharable URL that you may use on your other devices or amongst team members:
To stop sharing your site, you may press Control + C
.
Sharing Sites On Your Local Network
Valet restricts incoming traffic to the internal 127.0.0.1
interface by default so that your development machine isn't exposed to security risks from the Internet.
If you wish to allow other devices on your local network to access the Valet sites on your machine via your machine's IP address (eg: 192.168.1.10/application.test
), you will need to manually edit the appropriate Nginx configuration file for that site to remove the restriction on the listen
directive. You should remove the 127.0.0.1:
prefix on the listen
directive for ports 80 and 443.
If you have not run valet secure
on the project, you can open up network access for all non-HTTPS sites by editing the /usr/local/etc/nginx/valet/valet.conf
file. However, if you're serving the project site over HTTPS (you have run valet secure
for the site) then you should edit the ~/.config/valet/Nginx/app-name.test
file.
Once you have updated your Nginx configuration, run the valet restart
command to apply the configuration changes.
Site Specific Environment Variables
Some applications using other frameworks may depend on server environment variables but do not provide a way for those variables to be configured within your project. Valet allows you to configure site specific environment variables by adding a .valet-env.php
file within the root of your project. This file should return an array of site / environment variable pairs which will be added to the global $_SERVER
array for each site specified in the array:
Proxying Services
Sometimes you may wish to proxy a Valet domain to another service on your local machine. For example, you may occasionally need to run Valet while also running a separate site in Docker; however, Valet and Docker can't both bind to port 80 at the same time.
To solve this, you may use the proxy
command to generate a proxy. For example, you may proxy all traffic from http://elasticsearch.test
to http://127.0.0.1:9200
:
You may remove a proxy using the unproxy
command:
You may use the proxies
command to list all site configurations that are proxied:
Custom Valet Drivers
You can write your own Valet 'driver' to serve PHP applications running on a framework or CMS that is not natively supported by Valet. When you install Valet, a ~/.config/valet/Drivers
directory is created which contains a SampleValetDriver.php
file. This file contains a sample driver implementation to demonstrate how to write a custom driver. Writing a driver only requires you to implement three methods: serves
, isStaticFile
, and frontControllerPath
.
All three methods receive the $sitePath
, $siteName
, and $uri
values as their arguments. The $sitePath
is the fully qualified path to the site being served on your machine, such as /Users/Lisa/Sites/my-project
. The $siteName
is the 'host' / 'site name' portion of the domain (my-project
). The $uri
is the incoming request URI (/foo/bar
).
Once you have completed your custom Valet driver, place it in the ~/.config/valet/Drivers
directory using the FrameworkValetDriver.php
naming convention. For example, if you are writing a custom valet driver for WordPress, your filename should be WordPressValetDriver.php
.
Let's take a look at a sample implementation of each method your custom Valet driver should implement.
The serves
Method
The serves
method should return true
if your driver should handle the incoming request. Otherwise, the method should return false
. So, within this method, you should attempt to determine if the given $sitePath
contains a project of the type you are trying to serve.
Windows 10 OpenSSH client: Enabling and Installation Currently, built-in OpenSSH software for Windows 10 is in Beta. It works well, and you can give it a try to connect to a remote SSH server. Docker 20.10 and up introduces “dual logging”, which uses a local buffer that allows you to use the docker logs command for any logging driver. Refer to reading logs when using remote logging drivers for details. How to return to macOS from Windows 10. One of the best parts of Boot Camp is how easy it is to switch back and forth between operating systems. Click the Show hidden icons button in the Windows 10 taskbar. Click the Boot Camp button. Click Restart in OS X. Microsoft introduced this feature in Windows 8 computers in 2012. Initially, it created an issue for dual boot systems but lately, it is well handled by Linux systems like Ubuntu. Since elementary OS is based on Ubuntu, it also handles secure boot correctly. However, some older PCs may find some issue with dual boot because of secure boot. Dual boot macos and windows.
For example, let's imagine we are writing a WordPressValetDriver
. Our serves
method might look something like this:
The isStaticFile
Method
The isStaticFile
should determine if the incoming request is for a file that is 'static', such as an image or a stylesheet. If the file is static, the method should return the fully qualified path to the static file on disk. If the incoming request is not for a static file, the method should return false
:
{note} The isStaticFile
method will only be called if the serves
method returns true
for the incoming request and the request URI is not /
.
The frontControllerPath
Method
The frontControllerPath
method should return the fully qualified path to your application's 'front controller', which is typically an 'index.php' file or equivalent:
Local Drivers
If you would like to define a custom Valet driver for a single application, create a LocalValetDriver.php
file in the application's root directory. Your custom driver may extend the base ValetDriver
class or extend an existing application specific driver such as the LaravelValetDriver
:
Other Valet Commands
Command | Description |
---|---|
valet forget | Run this command from a 'parked' directory to remove it from the parked directory list. |
valet log | View a list of logs which are written by Valet's services. |
valet paths | View all of your 'parked' paths. |
valet restart | Restart the Valet daemons. |
valet start | Start the Valet daemons. |
valet stop | Stop the Valet daemons. |
valet trust | Add sudoers files for Brew and Valet to allow Valet commands to be run without prompting for your password. |
valet uninstall | Uninstall Valet: shows instructions for manual uninstall. Pass the --force option to aggressively delete all of Valet's resources. |
Valet Directories & Files
You may find the following directory and file information helpful while troubleshooting issues with your Valet environment:
~/.config/valet
Contains all of Valet's configuration. You may wish to maintain a backup of this directory.
~/.config/valet/dnsmasq.d/
This directory contains DNSMasq's configuration.
~/.config/valet/Drivers/
This directory contains Valet's drivers. Drivers determine how a particular framework / CMS is served.
~/.config/valet/Extensions/
This directory contains custom Valet extensions / commands.
~/.config/valet/Nginx/
This directory contains all of Valet's Nginx site configurations. These files are rebuilt when running the install
, secure
, and tld
commands.
~/.config/valet/Sites/
This directory contains all of the symbolic links for your linked projects.
~/.config/valet/config.json
Brew Mysql Setup
This file is Valet's master configuration file.
~/.config/valet/valet.sock
This file is the PHP-FPM socket used by Valet's Nginx installation. This will only exist if PHP is running properly.
~/.config/valet/Log/fpm-php.www.log
This file is the user log for PHP errors.
~/.config/valet/Log/nginx-error.log
This file is the user log for Nginx errors.
/usr/local/var/log/php-fpm.log
This file is the system log for PHP-FPM errors.
/usr/local/var/log/nginx
This directory contains the Nginx access and error logs.
/usr/local/etc/php/X.X/conf.d
Brew Mysql Configuration
This directory contains the *.ini
files for various PHP configuration settings.
/usr/local/etc/php/X.X/php-fpm.d/valet-fpm.conf
This file is the PHP-FPM pool configuration file.
~/.composer/vendor/laravel/valet/cli/stubs/secure.valet.conf
Brew Install Mysql_config
This file is the default Nginx configuration used for building SSL certificates for your sites.