PHP 7.0 with IMAP and MAILPARSE on MAC OS - macos

On 31st of March Homebrew moved some of their formulas around. For this reason I can't find a way to make my PHP 7 work with the following extensions:
mailparse
imap
I have tried many examples found on the internet, such as
brew install php70 --with-imap
brew install -s php70 --with-imap
brew install php70-imap
not mentinoning the brew update, brew upgrade, brew tap etc...
But none of them seems to work as brew php does not work with options anymore.
I had even less options trying to install without homebrew, as I am using nginx in my computer, not apache.
Does any one had this problem and was able to fix it?
Thanks!

After some troubleshooting, it finally worked..... That's how I did:
First I installed the following formulas:
brew install imap-uw
brew install openssl
After that, I downloaded the same version of the pho is running in my computer on http://php.net/downloads.php (saved it in Downloads folder).
In terminal I did.
cd ~/Downloads/php-7.0.29/ext/imap
./configure --with-imap=/usr/local/Cellar/imap-uw/2007f --with-kerberos --with-imap-ssl=/usr/local/opt/openssl
make
where /usr/local/Cellar/ is the path where the formula imap-uw is installed.
P.S this configure file does not accept --with-openssl or --with-openssl-dir or +openssl. I waist a lot of time trying that.
it created a folder modules/ with the imap.so file inside.
Then I created a folder and moved the imap file to inside it
mkdir /usr/local/opt/php70-imap
mv modules/imap.so /usr/local/opt/php70-imap/imap.so
After that just add the extension to the php.ini file
extension="/usr/local/opt/php70-imap/imap.so"
Restart the server and imap will work fine!
For mailparse I had to use pecl.
First I followed this tutorial https://jason.pureconcepts.net/2012/10/install-pear-pecl-mac-os-x/
After pecl was installed properly in my computer, I ran the following code:
cd
pecl download mailparse
tar -xvf mailparse-3.0.2.tgz
cd mailparse-3.0.2/
phpize
./configure
sed -i 's/#if\s!HAVE_MBSTRING/#ifndef MBFL_MBFILTER_H/' ./mailparse.c
make
mkdir /usr/local/opt/php70-mailparse
sudo mv modules/mailparse.so /usr/local/opt/php70-mailparse/mailparse.so
I got the piece of code above here https://github.com/php-mime-mail-parser/php-mime-mail-parser . However the line sed -i 's/#if\s!HAVE_MBSTRING/#ifndef MBFL_MBFILTER_H/' ./mailparse.c has not worked properly. I ran make anyways and it worked.
After that just add the extension to the php.ini file
extension="/usr/local/opt/php70-mailparse/mailparse.so"

Related

Brew install class-dump doesn't work. How to fix it?

My mac is having MacOS 10.12.4 (Sierra). And I have installed homebrew using command line. This is what look like when I run "brew config" command.
Then I wanted to install class-dump using following command.
"brew install class-dump". But when it gives me following error. Can some one tell me the reason and what should I do?
I was able to solve the problem by installing class-dump manually without using home brew. I downloaded the class-dump in using this link. Then copy the class-dump file to the following location "/usr/local/bin". Then all works fine
Here is a one liner for the lazy people if you already have wget:
$ wget -qO- http://stevenygard.com/download/class-dump-3.5.tar.gz | tar xvz - -C /usr/local/bin

How to install mcrypt extension on mac os x yosemite (10.10)

I've updated my Mac OS X to Yosemite, but doing that I over write all my dev environment. So now, to run Laravel 4 on my local apache I need to install the Mcrypt extension, but everything that i've tried i fail. Even the steps that have worked on OS X Mavericks (10.9)
Anybody has the same issue?
Thanks in advance.
Cheers
I just installed it right now on my Mavericks installation using homebrew and it worked surprisingly well. Can't say whether or not it will work so well on Yosemite but worth a shot..
Homebrew
brew install autoconf
brew install mcrypt
Macports
Check PHP version
php -v
Update Macports
sudo port -v selfupdate
Download & install the appropriate version..
sudo port install php55-mcrypt
now dummy proof it..
Find where Macports put the file mcrypt.so and copy it to all instances of /php/extensions/no-debug-... folder. If you have that directory structure in multiple places, copy it to all of them. So every php/extensions/no-debug.. folder on your computer has a copy of mcrypt.so
sudo cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/
Determine where your php.ini file is and make sure it's the one your actually using because you may have this file in more than 1 place. Do this to all php.ini files you find..
Within that file find and uncomment the following line. If it's commented out, uncomment it. If it's not in the file at all, add it. In my default php.ini file I found this on line 536:
extension=mcrypt.so
Compile
Download mcrypt
curl -O http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
Uncompress it
tar -zxvf libmcrypt-2.5.8.tar.gz
Configure, build, and install
./configure && make && sudo make install
Download Autoconf
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
Uncompress it
tar xvfz autoconf-latest.tar.gz
Configure, build, and install
./configure && make && sudo make install
Apache
Regardless which method you used to install it. You should always restart Apache when your done.
Restart Apache
sudo apachectl restart
I just did these and it installed. MAMP etc. is not installed.
brew tap josegonzalez/homebrew-php
brew install php55-mcrypt
And weirdly, I had to reinstall to make it install properly.
brew reinstall php55-mcrypt
However, this also re-installed PHP5.5 from source, but no matter, all is working fine on my end.
I had the same problem. But, I'm using MAMP for my local development. So, I just needed to symlink the php file over to MAMP's version and all is working.
If using homebrew, try reinstalling or relinking your php install.
I'm sure I can help you get back up and working, so just let me know if that doesn't help.
First Install libtool from homebrew, which is a dependency in 10.10 Yosemite
brew reinstall libtool --universal && brew unlink libtool && brew link libtool
Then CD to your php directory
cd /usr/local/php5
And into your php.d directory
cd php.d
Then finally do a quick ls to see which extensions you are using:
ls -l
If you see duplicate entries containing "mcrypt" you will need to open one of them up, and comment out the line:
extension=mcrypt.so
to
;;extension=mcrypt.so
But only in one of them. For me it was mcrypt.ini. So..
sudo nano mcrypt.ini
added the line and done!

Using mongodump: "mongodump: command not found"

I'm trying to get a dump of my local database and it seems I should be using:
mongodump --host localhost:3002
However, the terminal then tells me:
-bash: mongodump: command not found
Am I missing something? Or going about this the wrong way? I'm using it on Mac from the terminal.
I installed mongo (I think) using the following commands:
curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.5.tgz > mongodb.tgz
tar -zxvf mongodb.tgz
As of MongoDB 4.4 (released July 30, 2020), you may need to install mongodump separately because the MongoDB Database Tools (which comprises mongodump, mongorestore, and more) has become its own project.
I found this out because I upgraded to MongoDB 4.4 today and mongodump stopped working.
$ mongodump
zsh: command not found: mongodump
I'm on macOS and installed MongoDB via Homebrew. To get mongodump and friends back, I installed the MongoDB Database Tools via Homebrew:
brew tap mongodb/brew
brew install mongodb-database-tools
If you're on a different OS, this should help:
MongoDB Database Tools Installation
brew tap mongodb/brew; brew install mongodb-community
will also install mongodump.
If you don't have the brew command, you really should consider install Homebrew
If you just extracted the .tgz file, the mongodump command is not available in your PATH. Go to your /bin/ subdirectory inside the directory where you have extracted mongodb.tgz, the mongodump binary should be there. Now you can execute:
./mongodump --host localhost:3002
It's much better though to install MongoDB with a package manager. Read this page:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/
and use, for example, Homebrew to install MongoDB and have all the necessary binaries in PATH.
brew tap mongodb/brew
brew install mongodb-database-tools
For using mongodump, mongo-tools library has to be installed from os package manager.
It's probably just not in your path, it should be in the same directory as your "mongod", and you can then run it with:
/path/to/bin/mongodump --host localhost:3002
It's in the official MongoDB docs now. For example, to install the 3.2 version:
brew tap mongodb/brew
brew install mongodb-community#3.2
Then follow the steps to update your PATH environment variable.
You have to install mongo-tools to have mongodump.
sudo apt-get install mongo-tools
For Windows Users
You can download the MongoDB Database Tools from here
And you can read the installation guide here

Is there a command to update redis?

I'm working on the front end for a web app, but I'm trying to learn as much of the backend setup as I can as well. I am setting up redis on a new computer myself, but running into a few hiccups.
The wget command cannot be found, so I assume it Linux only? I am following these instructions to install redis on Mac OS 10.7. I have redis 2.0.0 installed, but while attempting to install 2.4.4 using the same commands, I am told redis-server, redis-cli, redis-benchmark cannot be found, and I can't copy them to /usr/local/bin.
I could not find an update command to bring redis up to the most recent version. I don't think it should be this difficult to install the most recent version on redis on Mac OS, but I can't see what I am doing wrong.
So far as I know, typing:
$ brew upgrade redis
should work, where $ indicates your command line. If it complains about HomeBrew not being installed, you can obtain that here. Brew is an excellent package manager, and a great way of taking care of your files.
If you're not using brew, then these steps will help you get up to date.
First, find the location of your installed redis-server instance before updating. In my case, it was in /usr/local/bin/, but it might also be in /usr/bin/. If it's not here, you can type which redis-server to find the location.
Next, download the redis tar file from https://redis.io/download, then install it from the directory it downloaded to:
cd Downloads
tar xzf redis-X.Y.Z.tar.gz
cd redis-X.Y.Z
make test
make
Next, we'll move the new installed redis to the location where the current instance is running:
sudo mv src/redis-server /usr/local/bin
sudo mv src/redis-cli /usr/local/bin
Now you should be ready to use redis-server and redis-cli in the new version.
PS - I also moved the redis-benchmark, redis-sentinel, redis-check-aof, and redis-check-dump files because they were also already in /usr/local/bin.
Ref: http://jasdeep.ca/2012/05/installing-redis-on-mac-os-x/
It would be better to follow this way.
$ brew update
$brew upgrade redis
Create a bash file...
cd ~
nano .update_redis
Go into the tmp directory and download the latest stable version
cd /tmp
wget http://download.redis.io/redis-stable.tar.gz
Decompress the files
tar xvzf redis-stable.tar.gz
Compile
cd redis-stable
make
Copy the bin programs
cp src/redis-cli /usr/bin/
cp src/redis-server /usr/bin/
cp src/redis-benchmark /usr/bin/
Set Permissions
chmod 755 /usr/bin/redis-cli
chmod 755 /usr/bin/redis-server
chmod 755 /usr/bin/redis-benchmark
Execute
bash .update_redis

Having trouble configuring sphinx search

I downloaded sphinx 0.9.9 to my ubuntu 10.4 machine.
I ran cd ~/sphinx-0.9.9 then ./configure, then make then make install.
Make install gave me errors so I ran sudo make install and then there were no errors.
I am going through the documentation. I am at 2.6. Quick Sphinx usage tour.
It says:
All the example commands below assume that you installed Sphinx in /usr/local/sphinx, so searchd can be found in /usr/local/sphinx/bin/searchd.
I do have /usr/local/sphinx but there is no bin folder in it, just etc and var.
It then also says:
there's example.sql sample data file to populate that table with a few documents for testing purposes:
$ mysql -u test < /usr/local/sphinx/etc/example.sql
but inside my /usr/local/sphinx/etc/ folder there is only one file: sphinx.conf
and according to the docs that file shouldnt event exist yet, it should be sphinx.conf.dist
I tried to install sphinx 6 months ago and gave up. I am only revisiting it now, so maybe there is a chance I screwed something up then that is giving me problems now. Is there a way to remove everything sphinx so I can try again fresh? Or does anyone have any other ideas what is going on?
You might try installing the package version of sphinx; it's slightly older, but should work as well. As far as compiling problems, you might check the SphinxSearch forum.
Looks like you have installation issue here.
The output of make command will be helpful.
I would suggest reinstalling sphinx, just delete the folder/or run sudo make uninstall, where you had installed the sphinx, and then following these steps to reinstall sphinx
Update and Grab dependencies. Run these commands in order to get the files you need to install Sphinx.
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install build-essential
sudo apt-get install libmysqlclient15-dev
Download source, Untar and prep. Here's where it gets a bit complicated. You'll need to extract the source, change into the directory and configure Sphinx. Do that with these commands.
tar xvzf sphinx-0.9.8.1.tar.gz
cd sphinx-0.9.8.1/
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql
Make and Install Sphinx
make
sudo make install

Resources