Some summary of PHP and MySQL time zone settings
Friends who use foreign hosting spaces often encounter problems with time zone settings. For city settings on the PHP script side, you can set the date.timezone key value to 'Asia/Shanghai' under php.ini.
Friends who use foreign hosting spaces often encounter problems with time zone settings. The city setting on the PHP script side can be set under php.ini to set the value of the date.timezone key to 'Asia/Shanghai'. Usually the shared virtual host itself does not have permission to modify php.ini. At this time, you should add it to the public part of the program: ini_set('date.timezone','Asia/Shanghai'); Dynamically modify the settings of php.ini. You can then test whether the time is correct: var_dump(date()); If the local time of the server is correct, then the problem will usually be solved. Attached, PHP 5.1 and above provides a special function to modify the corresponding time zone: date_default_timezone_set('Asia/Shanghai'); It is recommended to use this function because it is more versatile. Corresponding to 'Asia/Shanghai', other mainland time zones that can be used are: Asia/Chongqing, Asia/Shanghai, Asia/Urumqi (in order, Chongqing, Shanghai, Urumqi); available in Hong Kong and Taiwan: Asia/Macao, Asia/Hong_Kong, Asia /Taipei (Macau, Hong Kong, Taipei in order); and Singapore: Asia/Singapore; other available values are: Etc/GMT-8, Singapore, Hongkong, PRC; foreigners seem to have missed Beijing. However, after I successfully modified the time zone on the PHP side, I found that the date was not recorded correctly. At this time, I considered whether it was a database problem. Sure enough, because the function inserted by the program does not call PHP's time, but directly uses MySQL's CURRECT_TIMESTAMP. At this time, you need to consider whether the time zone in MySQL can be modified. Referring to the MySQL documentation, I found a feasible SQL statement: SET GLOBAL time_zone = '+8:00'; Among them, '+8:00' is the representation method of East Eighth District, and other urban areas can be deduced in sequence. And when I inserted a change statement into the database model, I found that the permissions were insufficient. Next, I debugged many statements, such as: DATE_ADD(UTC_TIMESTAMP(), INTERVAL 8 HOUR); SQL statement to display time zone: SHOW VARIABLES LIKE 'system_time_zone' etc. There is no complete solution due to MySQL permission limitations. I Googled it and found that foreigners have a very good solution. But he needs to modify each SQL statement that inserts data. This solution is not very effective. Once the database time zone is changed to normal, the corresponding SQL statement must be changed back. And I think now that the PHP side can already solve the time problem correctly. Although the MySQL database can be solved using the corresponding functions, it will have to be changed back if it is migrated to another host environment in the future. The corresponding field is of type TIMESTAMP, and the default value is CURRECT_TIMESTAMP. Of course, the time can be specified. My approach is to let PHP insert the current correct time, so although the program needs to be modified accordingly. However, if you modify the configuration in the future, you only need to modify one place. When finally inserting into the database, pay attention to the format: date('Y-m-d H:i:s') Reference article: http://www.modwest.com/help/kb6-256.html You can set it up like this on your own host: SET GLOBAL time_zone = '+8:00'; It's a pity that functions like UNIX_TIMESTAMP() can no longer be used. |

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.
