Try to come to Germany, lots of Iranian expats study and work here. There are a few very good CS programs aswell (TU Munich for example). Most Phd positions come with a salary of ~1700-3400€ a month and there are no significant tuition fees. You might need to do a two year master degree first though, those are usually not funded, but there are no tuition fees either. Courses on the Phd and Masters level are taught in English.
Google even has a location in Germany so if you were planning on getting a PHD in the US and then moving into working for Google most likely you could take the same kind of path in Germany but without the tremendous education debt.
You get 800€ during your master and about twice that during your PhD. The institute is really good and there are two Max Planck Institutes (Informatics and Software Systems) right on campus. The program is entirely in English.
reply