Today I will give you a summary of the headaches for PHP beginners. The 14 questions raised below hope to be helpful to PHP beginners.
1. Variables cannot be transferred between pages
The automatic global variables of get, post, and session are turned off in the latest PHP version, so the submitted variables must be obtained from the previous page. Use $_GET['foo'], $_POST['foo'], $_SESSION['foo'] to get it. Of course, you can also modify the automatic global variables to be on (php.ini is changed to register_globals = On); considering compatibility, it is better to force yourself to become familiar with the new writing method.
2. When apache2 uses the get method to pass Chinese parameters under Win32, there will be an error. Internal error
Solution: "test.php?a=".urlencode(Hello)."&b=".urlencode(Hello)
3. The session under win32 cannot Works normally
php.ini default session.save_path = /tmp
This is obviously a configuration under Linux. Under win32, php cannot read and write session files, causing the session to be unusable
Just change it to an absolute path, for example session.save_path = c:windowstemp
4. Display error message
When display_errors of php.ini = On and error_reporting = E_ALL , will display all errors and prompts. It is best to turn it on during debugging for error correction. If you use the previous PHP writing method, most of the error messages will be about undefined variables. There will be a prompt when a variable is called before it is assigned a value. The solution is to detect or shield it.
For example, to display $foo, you can if(isset($foo)) echo $foo or echo @$foo
5. Mail() cannot send emails under Win32
Sendmail configured under Linux can be sent. Under win32, you need to call the smtp server to send emails. Modify SMTP = ip in php.ini //ip is an smtp server without verification function (hard to find on the Internet), php The best solution for sending emails is to use a socket to send directly to the other party's email server without a forwarding server.
6. If the password is not set for the initial installation of mysql, you should use
update mysql.user set password="yourpassword" where user="root"
Change password
7. header already sent
This error usually occurs when you use HEADER. It may be due to several reasons: 1. You PRING or ECHO before using HEADER 2. You are currently There is a blank line in front of the file 3. You may have INCLUDEd a file and there is a blank line at the end of the file or this error will occur in the output.
8. There is no change after changing php.ini
Restart the web server, such as IIS, Apache, etc., and then the latest settings will be applied
9. PHP is in Installation on 2003 (I would like to ask experts for advice on how to install ISAPI)
PHP4’s php4isapi.dll seems to conflict with 2003, so it can only be installed in CGI mode:
Step 1, first www.php. NET, I installed: php-4.2.3-installer.exe. You can also find the latest version and make sure you have IIS6.0 before installing php-4.2.3-installer.exe. is started and accessible. After installation, go to the default website-->Application configuration;
Step 2: Click web service extension-->New web service extension;
Step 3: Extension name-- >php, then add;
Step 4: Find the path to php.exe and add it;
Step 5: Confirm;
Step 6: Select php service extension and click Allow.
Total 2 pages:
Previous page
www.bkjia.com