1. Error message
When installing ThinkPHP, the following error message often appears:
Unable Open compressed files (open_basedir restrictions)
When the program is executed, a warning is prompted:
Warning: require(D:\wamp\www\thinkphp \index.php): failed to open stream: No such file or directory in D:\wamp\www\thinkphp\test.php on line 2
An error message appears when the program is executed :
Fatal error: Class 'PDO' not found in /path/to/thinkphp/ThinkPHP/Library/Think/Db/Driver.class.php on line 34
2. Solution
Unable to open compressed file
This is caused by the system’s open_basedir limitation. We were unable to decompress the file because system functions in PHP were turned off for security reasons. We can solve this problem in the following two ways.
Method 1: Modify the php.ini configuration file
Open the apache configuration folder (for example: D:\wamp\bin\apache\Apache2.2.21\conf) , find php.ini, search for open_basedir in php.ini, and modify it to:
open_basedir = "c:/wwwroot;c:/wwwroot/thinkphp"
where c:/ wwwroot is the root directory of the website, and c:/wwwroot/thinkphp is the path of the ThinkPHP framework.
Method 2: Modify Apache’s httpd.conf configuration file
Open the apache configuration folder, find httpd.conf, and add the following configuration at the end:
php_admin_value open_basedir "D:\wamp\www;D:\wamp\www\thinkphp"
Note: The php_admin_value open_basedir configuration item must be defined in the Directory node.
Complete the above operations, restart Apache, and the problem will be solved.
An alarm is prompted when the program is executed
This is because the program did not find the index.php file. We need to set the path in the require statement in the test.php file to the path of the index.php file, as follows:
require_once('D:/wamp/www/thinkphp/index.php');
D:/wamp/www is the root directory of the website, and D:/wamp/www/thinkphp is the path of the ThinkPHP framework.
When the program is executed, an error is prompted
This is caused by PHP not having the PDO extension installed. We need to find the line extension=php_pdo_mysql.dll in php.ini, remove the ";" in front, and save the php.ini configuration file. Then search extension_dir from php.ini and confirm whether there is a php_pdo_mysql.dll file in this directory. If not, you need to download and install the PDO extension (such as php_pdo_mysql.dll).
The above is the detailed content of How to solve the error when installing thinkphp. For more information, please follow other related articles on the PHP Chinese website!