Я пытаюсь настроить среду разработки для некоторых старых проектов на PHP 5.1.4. Он должен работать как CGI (или fastcgi) под apache, и я хотел бы иметь двоичный файл cli. Мои параметры настройки:
./configure \
--prefix=/usr/local/php-dev \
--with-config-file-path=/usr/local/php-dev/etc \
--enable-bcmath \
--enable-calendar \
--enable-dbase \
--enable-exif \
--enable-fastcgi \
--enable-force-cgi-redirect \
--enable-ftp \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-memory-limit \
--enable-soap \
--enable-track-vars \
--enable-trans-sid \
--enable-versioning \
--enable-xslt \
--with-curl=/usr/local/php-libs/curl-7.12.2 \
--with-freetype \
--with-freetype-dir \
--with-gd \
--with-iconv \
--with-jpeg-dir \
--with-mhash \
--with-mime-magic \
--with-mssql=/usr/local/php-libs/freetds-0.64 \
--with-mysql=/usr/local/mysql5 \
--with-mysql-sock=/var/run/mysql/mysql.sock \
--with-openssl \
--with-pdo-mysql=/usr/local/mysql5 \
--with-pear \
--with-ttf \
--with-xslt-sablot=/usr/local/sablot-1.0.3 \
--with-zlib
После его установки у меня остались только эти файлы в /usr/local/php-dev/bin
:
pear
peardev
pecl
php
php-config
phpize
Я также ожидал php-cgi
или php-cli
. При беге ./php -v
из командной строки он показывает:
PHP 5.1.4 (cgi-fcgi) (built: Sep 23 2010 09:46:33)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
Итак, у меня есть только версия CGI, и когда я пытаюсь запустить специфические скрипты CLI, переменные $argv
и $argc
являются NULL
.
Есть ли способ иметь версии CLI и CGI? (система: Slackware 13.0)
Из http://www.php.net/manual/en/features.commandline.introduction.php:
Имя, расположение и существование двоичных файлов CLI / CGI будут отличаться в зависимости от того, как PHP установлен в вашей системе. По умолчанию при выполнении make и CGI, и CLI создаются и помещаются как sapi / cgi / php-cgi и sapi / cli / php соответственно в исходный каталог PHP. Вы заметите, что оба они называются php. Что происходит во время make install, зависит от вашей строки конфигурации. Если во время настройки выбран модуль SAPI, например apxs, или используется параметр --disable-cgi, CLI копируется в {PREFIX} / bin / php во время make install, в противном случае CGI помещается туда. Так, например, если --with - apxs находится в вашей строке конфигурации, тогда CLI копируется в {PREFIX} / bin / php во время make install. Если вы хотите отменить установку двоичного файла CGI, используйте make install-cli после make install. В качестве альтернативы вы можете указать --disable-cgi в строке конфигурации.
Итак, вы пробовали make install-cli
? У тебя есть sapi
dir с этими двумя?