PDO MySQL ile PHP 5.1.6 derleniyor

2 Cevap php

Ben aslında asked this question on ServerFault ve herhangi bir yanıt var değil ve ben bunu, buraya ilişkin programlamayı oluyor anlamaya ...


Bir süre önce bizim büyük bir müşteri tüm canlı sunucularında genelinde tutarlı olacak bir yazılım ortamı dışında spec 'tek bir hosting sağlayıcısı taşındı.

Diğer şeyler Amongs bu Apache 2.2.8 ve PHP 5.1.6 içerir.

Biz kalkınma için bir ubuntu 8.04 sunucu vardı ve Apache ve PHP'nin bu sürümleri yüklü varsayılan değildir. Yani kaynaktan bunları derlemek zorunda kaldı. Bu sürümler şimdi mutlu bir yılı aşkın süredir çalışan edilmiştir.

Biz yeni bir site inşa başlıyoruz ve biz PDO_MYSQL gerektiren ZendFrameword kullanmak istiyorum.

Ben şu yeniden derleyerek denedim ... (çizgi çizgi devamını gösterir)

./configure --with-apxs2=/usr/local/apache2/bin/apxs _
--with-config-file-path=/user/local/apache2/conf/php.ini _
--with-curl=/usr/lib/ --with-mysql=shared --with-mysqli=shared _
--with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ _
--with-freetype-dir=/usr/lib/ --enable-soap --enable-pdo=shared _
--with-pdo-mysql=shared --with-sqlite=shared
...
make
...
make install
...
libtool --finish /sources/php-5.1.6/libs

Tüm çalışıyor, ve ben geri apache getirmek, bana yeni göstermektedir. / Phpinfo yapılandırmak ().

Bu MySQL yaptıktan sonra çalışmayı durdurur, MYSQL bölüm kaybolur ve msyql çalışma durur.

Markası, Libtool ... * koyar, make install. Yüzden dosya

/ Usr/local/lib/php/extensions/no-debug-non-zts-20050922

Ben önce kullandığınız configure MySQL etkindir ama PDO değil

./configure --with-apxs2=/usr/local/apache2/bin/apxs _
--with-config-file-path=/user/local/apache2/conf/php.ini _
--with-curl=/usr/lib/ --with-mysql --with-mysqli _
--with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ _
--with-freetype-dir=/usr/lib/ --enable-soap

Ben, büyük bir * nix kişi değilim ben yanlış gidiyorum herkes bana söyleyebilir.

Teşekkürler

2 Cevap

Ben gerçekten yardımcı olacaktır emin değilim, ama ne için, yapılandırma doğrultusunda "=shared" her örneğini kaldırmak olur?

Örneğin, burada (tarafından verilen phpinfo) Ben bir süre önce * kullanmış olduğunuz bir yapılandırma komut *:

$ /usr/local/php-5.1.6/bin/php -i | grep 'configure'
Configure Command =>  './configure' '--prefix=/usr/local/php-5.1.6' '--with-config-file-path=/etc/php-5.1.6' 
  '--with-apxs2=/usr/bin/apxs2' '--disable-ipv6' '--with-openssl' '--with-zlib' '--enable-bcmath' 
  '--with-bz2' '--with-curl' '--enable-exif' '--enable-ftp' '--with-gd' '--with-ttf' 
  '--enable-gd-native-ttf' '--with-imap-ssl' '--with-ldap' '--enable-mbstring' '--with-mcrypt' 
  '--with-mhash' '--with-mysql' '--with-mysqli' '--enable-pcntl' '--with-pdo-mysql' '--with-pdo-sqlite' 
  '--enable-shmop' '--enable-soap' '--enable-sockets' '--enable-sqlite-utf8' '--with-xmlrpc' 
  '--with-xsl' '--with-pear'

(Newlines okunabilirlik uğruna eklenmiştir)

İşe yarar mı?

Bütün PHP yeniden derlemek gerek yok. Yalnız PDO_MYSQL modülü derlemek. pecl yüklemek için kullanın:

pecl install PDO_MYSQL

Bunun için phpize yüklü olması gerekmektedir. Debian makinalarda denilen paketi tarafından sağlanan php5-dev. Daha sonra sadece php.ini eklemek ve Apache yeniden başlatın.

Debian / Ubuntu sistem PDO_MYSQL iseniz php5-mysql denilen paketinde sağlanan