apache mysql php source code compilation and use_PHP tutorial
linux version: ubuntu 12.04
Completed the configuration of php mysql and apache today
Mainly source code configuration,
apache is mainly version 2.4.2
php is mainly version 5.3.11
mysql is mainly version 5.1.62
I tried several times in the past few days, and there was a software source conflict. I put two sources in the same source. After modification, there were no major problems in the installation.
The overall situation is as follows.
The process I completed is as follows:
apache configuration:
./configure --prefix=/usr/local/apache/ --with-libxml2 --enable-modules
=most --enable-mods-shared=all
Look at this classic example of Apache.
Add the latest version of libxml2 on ubuntu, and then everything will be ok
make
make install
Then enter 127.0.0.1 and you can see it’s work!
mysql configuration:
cd mysql
sudo ./configure –prefix=/usr/local/mysql –with-mysqld-user=mysql
–with-extra-charsets=all –enable-thread-safe-client
Be careful in ./configure configuration and pay attention to the prompts
I went through that ./configure in junior high school, and then everything went smoothly
make
make install
Because the configuration file needs to be copied to the etc directory
sudo cp /mypath/mysql /etc/my.cnf
[mysqld]# Set the default to INNODB table, support transactions: default-storage-engine=INNODB
# Set the default character set UTF-8:
character-set-server=utf8
collation-server=utf8_general_ci
default-character-set=utf8
# mysql start user
user=mysql
[client]
default-character-set=utf8
In order to allow ordinary users to start mysql, grant the following permissions to the mysql directory
sudo chown -R mysql:mysql /usr/local/mysql
Then, switch to the mysql user and find that mysql is started
ps aux | grep mysqld
If there is /usr/local/mysql/bin/ . . . It means mysql is started and mysql configuration is ok
at
Php configuration:
The most complicated configuration is PHP, the key is that there are too many modules
The configuration and installation take a bit long. Sometimes I think it’s a crash?
./configure --prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql-dir=/usr/local/mysql
--with-mysql-sock=/tmp/mysql.sock
--with-pdo-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--enable-mod-charset
--enable-bcmath
--with-bz2
--enable-calendar
--with-curl
--with-curlwrappers
--enable-exif
--enable-ftp
--with-gdbm
--with-gd=shared
--with-ttf
--enable-gd-native-ttf
--with-gettext
--with-gmp
--enable-mbstring=all
--enable-zend-multibyte
--with-ming=shared
--enable-sqlite-utf8
--enable-shmop
--enable-soap
--enable-sockets
--enable-sysvmsg
--enable-sysvsem
--enable-sysvshm
--enable-wddx
--with-xmlrpc
--with-xsl
--enable-zip
--with-zlib
--enable-discard-path
--enable-force-cgi-redirect
--enable-magic-quotes
--enable-sigchild
--with-ncurses
--enable-pcntl
Then configure reported that many components were missing, alas. . Fill in one by one, for example, bz2, zlib and ncurses. After adding the three components
configure succeeded immediately, what next? make ok make test Something went wrong. . . . . ? ? Speechless but make install
ok
You need to configure php
Create the php.ini file.
Write the following configuration:
error_log = /usr/local/php/php_error.log
date.timezone = "Asia/ShangHai"
session.save_path = "/tmp"
Modify conf/httpd.conf and fill in LoadModules php5_modules modules/libphp5.so
AddType application/x-httpd-php .php .html
AddType application/x-httpd-php-source .phps
Other configuration information of apache is also written in the httpd.conf file. For example, home directory location
Excerpted from zengco2009

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











In MySQL, add fields using ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column, delete fields using ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop. When adding fields, you need to specify a location to optimize query performance and data structure; before deleting fields, you need to confirm that the operation is irreversible; modifying table structure using online DDL, backup data, test environment, and low-load time periods is performance optimization and best practice.

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

To safely and thoroughly uninstall MySQL and clean all residual files, follow the following steps: 1. Stop MySQL service; 2. Uninstall MySQL packages; 3. Clean configuration files and data directories; 4. Verify that the uninstallation is thorough.

macOS and Linux have their own advantages in compatibility and user experience. macOS has excellent compatibility within the Apple ecosystem, and the user experience is simple and intuitive; Linux has outstanding hardware compatibility and software flexibility. The user experience varies from distribution to distribution, emphasizing personalization and control.

Efficient methods for batch inserting data in MySQL include: 1. Using INSERTINTO...VALUES syntax, 2. Using LOADDATAINFILE command, 3. Using transaction processing, 4. Adjust batch size, 5. Disable indexing, 6. Using INSERTIGNORE or INSERT...ONDUPLICATEKEYUPDATE, these methods can significantly improve database operation efficiency.

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

Methods for configuring character sets and collations in MySQL include: 1. Setting the character sets and collations at the server level: SETNAMES'utf8'; SETCHARACTERSETutf8; SETCOLLATION_CONNECTION='utf8_general_ci'; 2. Create a database that uses specific character sets and collations: CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci; 3. Specify character sets and collations when creating a table: CREATETABLEexample_table(idINT

Use the EXPLAIN command to analyze the execution plan of MySQL queries. 1. The EXPLAIN command displays the execution plan of the query to help find performance bottlenecks. 2. The execution plan includes fields such as id, select_type, table, type, possible_keys, key, key_len, ref, rows and Extra. 3. According to the execution plan, you can optimize queries by adding indexes, avoiding full table scans, optimizing JOIN operations, and using overlay indexes.
