Я установил последний веб-сервер apache в свою систему, используя все конфигурации по умолчанию (просто ./configure, make, make install). Затем я пытался привязать к нему PHP5, но так и не смог заставить его работать.
Первым делом я попытался заставить его работать со следующими настройками:
./configure --with-apxs2=/usr/local/apache2/bin/apxs prefix=/usr/local/apache2/php --with-config-file-path=/usr/local/apache2/php --enable-force-cgi-redirect --disable-cgi --enable-shared
Это давало мне эту ошибку, когда я пытался «установить»:
Warning! dlname not found in /usr/local/apache2/modules/libphp5.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2/modules/libphp5.so
chmod: cannot access `/usr/local/apache2/modules/libphp5.so': No such file or directory
apxs:Error: Command failed with rc=65536
Так что я устал настраивать без параметров (кроме apxs2) и смог выполнить установку. Это результат выполнения команды make install:
Installing PHP SAPI module: apache2handler
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/lib64/apr-1/build/libtool' libphp5.la /usr/local/apache2/modules
/usr/lib64/apr-1/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/
l ibtool: install: cp .libs/libphp5.so /usr/local/apache2/modules/libphp5.so
libtool: install: cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /home/max/Desktop/localhost/php-5.3.6/libs'
chmod 755 /usr/local/apache2/modules/libphp5.so
[activating module `php5' in /usr/local/apache2/conf/httpd.conf]
Installing PHP CLI binary: /usr/local/bin/
Installing PHP CLI man page: /usr/local/man/man1/
Installing build environment: /usr/local/lib/php/build/
Installing header files: /usr/local/include/php/
Installing helper programs: /usr/local/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/lib/php/
[PEAR] Archive_Tar - already installed: 1.3.7
[PEAR] Console_Getopt - already installed: 1.3.0
[PEAR] Structures_Graph- already installed: 1.0.4
[PEAR] XML_Util - already installed: 1.2.1
[PEAR] PEAR - already installed: 1.9.2
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
/home/max/Desktop/localhost/php-5.3.6/build/shtool install -c ext/phar/phar.phar /usr/local/bin
ln -s -f /usr/local/bin/phar.phar /usr/local/bin/phar
Installing PDO headers: /usr/local/include/php/ext/pdo/
Я перезапустил службу apache и перешел на localhost для просмотра файла php, но он не работал (apache просто индексирует файлы .php в папке htdocs и позволяет мне их загрузить).
Любые идеи?
Убедитесь, что PHP включен в файл конфигурации apache и для него установлен правильный обработчик.
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
В любом случае: вы уверены, что вам нужны скомпилированные из исходников Apache и PHP? Для большинства дистрибутивов Linux доступны предварительно скомпилированные пакеты, и их намного проще настроить.
Если вы используете 64-битную ОС (как кажется), вы можете столкнуться с эта ошибка что связано с разными путями к библиотекам для 64-битных файлов. В конце перечислены два возможных решения:
sys_lib_search_path_spec
И sys_lib_dlsearch_path_spec
или