I reinstalled the system some time ago, and later I said I needed to use php again, so I rebuilt the apache php mysql environment. Since I have built it many times before, it felt very easy. It was quickly completed and I wrote the following code for the commonly used test environment:
<span>1</span> <?<span>php </span><span>2</span> <span>3</span> <span>phpinfo</span><span>(); </span><span>4</span> <span>5</span> ?>
Then output normally. If you feel that the environment is fine, leave it alone...
I have been using it recently. When running the previous project code (using the CI framework), it always displays a blank page and does not get any correct output.
Embarrassed...
Rewriting simple PHP statements by myself can run normally. It seems that the environment is no problem.
It wasn’t until I used the date() function that I discovered a clue.
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely missed the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.
However, I have already configured it in the php.ini file date.timezone = Asia/Shanghai
Okay, the information configured in the php.ini file did not take effect
The first thing that comes to mind is that the server does not read this php.ini configuration file, because it has encountered wamp before and did not delete it, and then reconfigured the environment by itself. There is more than one php.ini file in the system, and it reads the history. configuration file.
Looking for system files, there is only one php.ini file, and after reinstalling the system, even if it existed in the past, it is gone now.
Check phpinfo() again;
What is read is indeed the php.ini I configured now
Then the problem may be that there is a problem with the php.ini file and it is not parsed correctly.
I tried to use php code to connect to the database and found that the relevant functions could not be found...
It seems that there is indeed a problem with php.ini.
Check the modified configuration carefully, there is nothing wrong...
Check again, there is still no problem...
……
……
Then, when it was time to take a walk every day, I decided not to do it anymore. If it didn’t work, I deleted everything. I re-established the environment, turned off the computer, went downstairs for a walk, and then made a phone call to complain about today’s "happy" life...
After I came back from the walk, I still had to figure it out, otherwise I wouldn’t be able to sleep...
Then, I checked php.ini for the last time without giving up, and finally I caught this bug
When configuring the directory where the extension is located, half of the quotation marks were omitted, which caused problems in subsequent parsing. Therefore, configuring the time zone and accessing the database failed to proceed correctly.
Add the upper half of the quotation marks, restart the apache service, OK, everything is running so beautifully again
Summary: Carelessness is a bad thing...